Sobes.tech
Junior — Middle

.NET'te IDisposable arayüzünün amacı nedir ve nasıl kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

.NET'te IDisposable arayüzü, artık kullanılmayan nesnelerin (örneğin, dosya tanıtıcıları, veritabanı bağlantıları) manuel olarak serbest bırakılması için tasarlanmıştır.

Kullanım:

  • Sınıf, IDisposable uygular ve kaynakları serbest bırakan Dispose() metodunu yeniden tanımlar.
  • Nesne kullanılırken, Dispose() açıkça çağrılır veya using yapısı kullanılır, bu da istisnalar durumunda bile Dispose() çağrısını garanti eder.

Örnek:

class ResourceHolder : IDisposable
{
    private bool disposed = false;
    public void Dispose()
    {
        if (!disposed)
        {
            // Kaynakları serbest bırak
            disposed = true;
            GC.SuppressFinalize(this);
        }
    }

    ~ResourceHolder()
    {
        Dispose();
    }
}

// Kullanım
using (var resource = new ResourceHolder())
{
    // kaynakla çalışma
}
// Burada otomatik olarak Dispose() çağrılır