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ə.
usingaçar sözü ilə birlikdə istifadə:usingstrukturu,IDisposable-i həyata keçirən obyektinDispose()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();
}