Sobes.tech
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 using quruluş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