Middle
C# dilinde IDisposable arayüzü ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
IDisposable arayüzü, CLR ortamı dışında yönetilen kaynakların serbest bırakılması modelini uygulamak için kullanılır (örneğin, dosya tanıtıcıları, ağ bağlantıları, WinAPI kolları).
Ana hedefler:
- Deterministik kaynak serbest bırakma: Yönetilmeyen kaynakları hemen serbest bırakmayı sağlar, çöp toplayıcısının finalizörü çağırmasını (varsa) beklemek yerine.
- Kaynak sızıntılarını önleme: Kritik kaynakların kullanım sonrası serbest bırakılmasını sağlar, istisnalar olsa bile.
usinganahtar kelimesi ile birlikte kullanımı:usingyapısı,IDisposableuygulayan nesneninDispose()metodunu, kod bloğu sonunda otomatik olarak çağırır, güvenilir serbest bırakma sağlar.
Uygulama, kaynakları serbest bırakan parametresiz Dispose() metodunu içerir. Sıkça, Dispose() çağrılmadığında kaynakları serbest bırakmak için bir finalizer (yıkıcı) kullanılır, ancak finalizer kullanımı önerilmez, bunun yerine using kullanmak tercih edilir.
public interface IDisposable
{
void Dispose();
}