Sobes.tech
Middle

C# dilində IDisposable interfeysi nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

IDisposable interfeysi, CLR mühitindən kənarda idarə olunan resursların azad edilməsini həyata keçirmək üçün istifadə olunur (məsələn, fayl deskriptorları, şəbəkə əlaqələri, WinAPI handle'ları).

Əsas məqsədlər:

  • Deterministik resursların azad edilməsi: İstifadə edilməyən resursları dərhal azad etməyə imkan verir, çünki yaddaş toplayıcısı finalizatoru çağırmadan (əgər varsa) gözləmək lazım deyil.
  • Resurs sızıntılarının qarşısını almaq: Kritikal resursların istifadə edildikdən sonra azad olunmasını təmin edir, hətta istisnalar olsa belə.
  • using açar sözü ilə birlikdə istifadə: using strukturu, IDisposable-i həyata keçirən obyektin Dispose() metodunu kod blokunun sonunda avtomatik çağırır, etibarlı azad etmə təmin edir.

İcra, resursları azad edən parametrsiz Dispose() metodunu əhatə edir. Çox vaxt, pattern Dispose() çağırılmadıqda resursları azad etmək üçün finalizer (destruktor) daxil edir, lakin finalizerlərdən imtina etmək və using-ə etibar etmək tövsiyə olunur.

public interface IDisposable
{
    void Dispose();
}