Sobes.tech
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.
  • using anahtar kelimesi ile birlikte kullanımı: using yapısı, IDisposable uygulayan nesnenin Dispose() 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();
}