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
usingyapı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