Back to questions
Junior — Middle
69
Можете ли привести пример ситуации, когда используется паттерн IDisposable для управления ресурсами?
Answer from AI
sobes.tech AI
Паттерн IDisposable используется для управления неуправляемыми ресурсами, такими как файловые дескрипторы, сетевые соединения, потоки и т.п. Его цель — гарантировать освобождение ресурсов, когда объект больше не нужен.
Пример: работа с файлом. Класс FileStream реализует IDisposable, чтобы закрыть файл и освободить дескриптор после использования.
using (var stream = new FileStream("file.txt", FileMode.Open))
{
// Работа с файлом
}
// Здесь stream.Dispose() вызывается автоматически, файл закрывается
Использование конструкции using гарантирует вызов Dispose, даже если возникнет исключение.