Sobes.tech
Junior — Middle

Можете ли да наведете пример ситуације у којој се користи патерн IDisposable за управљање ресурсима?

sobes.tech АИ

Одговор од АИ

Модел IDisposable се користи за управљање неуправљаним ресурсима као што су дескриптори датотека, мрежне везе, токови итд. Његова сврха је да обезбеди ослобађање ресурса када објекат више није потребан.

Пример: рад са датотеком. Класа FileStream имплементира IDisposable да затвори датотеку и ослободи дескриптор након коришћења.

using (var stream = new FileStream("датотека.txt", FileMode.Open))
{
    // Рад са датотеком
}
// Овде се аутоматски позива stream.Dispose(), датотека се затвара

Користећи конструкцију using, се гарантује позив на Dispose, чак и ако дође до изузетка.