Sobes.tech
Junior — Middle

.NET'te IDisposable arayüzünün amacı ve kullanımı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

.NET'teki IDisposable arayüzü, dosyalar, ağ bağlantıları, tanıtıcılar vb. gibi yönetilmeyen kaynakların serbest bırakılması için tasarlanmıştır. Bir Dispose() yöntemi içerir ve bu yöntem, kaynakların açıkça serbest bırakılması için çağrılır.

IDisposable kullanımı, kaynakların serbest bırakılma zamanını kontrol etmeye olanak tanır ve bu, bellek sızıntılarını ve kilitlenmeleri önlemek için önemlidir.

Kullanım örneği:

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

    public ResourceHolder(string filePath)
    {
        fileStream = new FileStream(filePath, FileMode.Open);
    }

    public void Dispose()
    {
        fileStream?.Dispose();
    }
}

// using anahtar kelimesi ile kullanım
using (var resource = new ResourceHolder("file.txt"))
{
    // Kaynak ile çalışma
}
// using bloğundan çıkıldığında Dispose() otomatik olarak çağrılır

Bu şekilde, IDisposable, kaynakların yaşam döngüsünü yönetmeye ve doğru şekilde serbest bırakılmasını sağlamaya yardımcı olur.