Junior — Middle
Можете ли да наведете пример ситуације у којој се користи патерн IDisposable за управљање ресурсима?
sobes.tech АИ
Одговор од АИ
Модел IDisposable се користи за управљање неуправљаним ресурсима као што су дескриптори датотека, мрежне везе, токови итд. Његова сврха је да обезбеди ослобађање ресурса када објекат више није потребан.
Пример: рад са датотеком. Класа FileStream имплементира IDisposable да затвори датотеку и ослободи дескриптор након коришћења.
using (var stream = new FileStream("датотека.txt", FileMode.Open))
{
// Рад са датотеком
}
// Овде се аутоматски позива stream.Dispose(), датотека се затвара
Користећи конструкцију using, се гарантује позив на Dispose, чак и ако дође до изузетка.