Junior — Middle
.NETтеги IDisposable интерфейсинин максаты эмне жана аны кантип колдонуу керек?
sobes.tech AI
AIден жооп
.NETтеги IDisposable интерфейси, объект дагы кереги жок болгондо, кол менен башкарылбаган ресурстарды (мисалы, файл дескрипторлору, базанын байланышы) бошотуу үчүн каралган.
Колдонуу:
- Класс IDisposable интерфейсин ишке ашырып, Dispose() методун кайра аныктайт, анда ресурстар бошотулат.
- Объект колдонулуп жаткан коддо, Dispose() ачык түрдө чакырылат же
usingкурулушу колдонулат, ал evenException болсо да, Dispose() чакырылышын камсыздайт.
Мисал:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Ресурстарды бошотуу
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Колдонуу
using (var resource = new ResourceHolder())
{
// ресурс менен иштөө
}
// Бул жерде автоматтык түрдө Dispose() чакырылат