Junior — Middle
.NET-də IDisposable interfeysinin məqsədi nədir və necə istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
.NET-də IDisposable interfeysi, obyekt artıq lazım olmadıqda idarə olunmayan resursları (məsələn, fayl deskriptorları, verilənlər bazası əlaqələri) əl ilə azad etmək üçün nəzərdə tutulmuşdur.
İstifadə:
- Sinif, IDisposable-i həyata keçirir və Dispose() metodunu yenidən təyin edir, burada resurslar azad edilir.
- Obiekt istifadə olunduğu kodda, Dispose() açıq şəkildə çağırılır və ya
usingquruluşu tətbiq olunur, bu da istisnalar zamanı belə Dispose() çağırılmasını təmin edir.
Misal:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Resursları azad et
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// İstifadə
using (var resource = new ResourceHolder())
{
// resursla işləmə
}
// Burada avtomatik olaraq Dispose() çağırılır