Sobes.tech
Junior — Middle

Можете ли да дадете пример за ситуация, в която се използва патърнът IDisposable за управление на ресурси?

sobes.tech AI

Отговор от AI

Моделът IDisposable се използва за управление на unmanaged ресурси като файлови дескриптори, мрежови връзки, потоци и др. Целта му е да гарантира освобождаването на ресурсите, когато обектът вече не е необходим.

Пример: работа с файл. Класът FileStream реализира IDisposable, за да затвори файла и освободи дескриптора след използване.

using (var stream = new FileStream("файл.txt", FileMode.Open))
{
    // Работа с файла
}
// Тук stream.Dispose() се извиква автоматично, файлът се затваря

Използването на конструкцията using гарантира извикването на Dispose, дори ако възникне изключение.