Junior — Middle
Можете ли да дадете пример за ситуация, в която се използва патърнът IDisposable за управление на ресурси?
sobes.tech AI
Отговор от AI
Моделът IDisposable се използва за управление на unmanaged ресурси като файлови дескриптори, мрежови връзки, потоци и др. Целта му е да гарантира освобождаването на ресурсите, когато обектът вече не е необходим.
Пример: работа с файл. Класът FileStream реализира IDisposable, за да затвори файла и освободи дескриптора след използване.
using (var stream = new FileStream("файл.txt", FileMode.Open))
{
// Работа с файла
}
// Тук stream.Dispose() се извиква автоматично, файлът се затваря
Използването на конструкцията using гарантира извикването на Dispose, дори ако възникне изключение.