Junior — Middle
Обяснете предназначението и използването на интерфейса IDisposable в .NET
sobes.tech AI
Отговор от AI
Интерфейсът IDisposable в .NET е предназначен за освобождаване на unmanaged ресурси като файлове, мрежови връзки, дескриптори и др. Той съдържа един метод — 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 помага за управлението на жизнения цикъл на ресурсите и гарантира тяхното правилно освобождаване.