Back to questions
OZON
Junior — Middle
69
Объясните назначение и использование интерфейса IDisposable в .NET
Companies where asked
Answer from AI
sobes.tech AI
Интерфейс IDisposable в .NET предназначен для освобождения неуправляемых ресурсов, таких как файлы, сетевые соединения, дескрипторы и т.п. Он содержит один метод — Dispose(), который вызывается для явного освобождения ресурсов.
Использование IDisposable позволяет контролировать время освобождения ресурсов, что важно для предотвращения утечек памяти и блокировок.
Пример использования:
class ResourceHolder : IDisposable
{
private FileStream fileStream;
public ResourceHolder(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void Dispose()
{
fileStream?.Dispose();
}
}
// Использование с оператором using
using (var resource = new ResourceHolder("file.txt"))
{
// Работа с ресурсом
}
// После выхода из using автоматически вызывается Dispose()
Таким образом, IDisposable помогает управлять жизненным циклом ресурсов и гарантирует их корректное освобождение.