Sobes.tech
Junior — Middle

Ar galite pateikti pavyzdį situacijos, kai naudojamas IDisposable modelis resursų valdymui?

sobes.tech AI

Atsakymas iš AI

IDisposable modelis naudojamas valdyti nevaldomus išteklius, tokius kaip failų aprašai, tinklo ryšiai, srautai ir kt. Jo tikslas yra užtikrinti išteklių atlaisvinimą, kai objektas nebėra reikalingas.

Pavyzdys: dirbti su failu. FileStream klasė įgyvendina IDisposable, kad uždarytų failą ir atlaisvintų aprašą po naudojimo.

using (var stream = new FileStream("failas.txt", FileMode.Open))
{
    // Darbas su failu
}
// Čia automatiškai kviečiasi stream.Dispose(), failas uždaromas

Naudojant using konstrukciją garantuojama Dispose iškvietimas, net jei įvyksta išimtis.