Neden IDisposable'a ihtiyacımız var?
Neden IDisposable'a ihtiyacımız var?

Video: Neden IDisposable'a ihtiyacımız var?

Video: Neden IDisposable'a ihtiyacımız var?
Video: IAsyncDisposable Nasıl Kullanılır? 2024, Kasım
Anonim

Tek kullanımlık hiçbir şeyi temizlemez veya nesneleri yok etmez. Dispose() çağrısı, bu işlev hiçbir şey yapmazsa hiçbir şey yapmaz. Kullanımı Tek kullanımlık bir desendir. Diğer nesnelere yönelik yönetilen başvurular, nesnelerin çöp toplayıcı tarafından toplanmasını engeller.

Benzer şekilde, neden IDisposable arayüzünün kullanıldığını sorabilirsiniz.

Tek kullanımlık sıksıktır kullanılmış using ifadesinden yararlanmak ve yönetilen nesnelerin deterministik temizliğini yapmanın kolay bir yolundan yararlanmak. Dispose modelinin amacı, hem yönetilen hem de yönetilmeyen kaynakları temizlemek için bir mekanizma sağlamaktır ve bunun ne zaman gerçekleştiği, Dispose yönteminin nasıl çağrıldığına bağlıdır.

Ayrıca, IDisposable nedir? Tek kullanımlık dosyalar, akışlar, veritabanı bağlantıları vb. gibi yönetilmeyen kaynakları serbest bırakmak için tek bir yöntem olan Dispose() içeren bir arabirimdir.

Bunu göz önünde bulundurarak, IDisposable'ı ne zaman kullanmalıyım?

bir sınıfta sen IDisposable'ı uygulamalı ve belleğin ne zaman serbest bırakılacağını kontrol etmenize izin vermek için Dispose yönteminin üzerine yazın. Değilse, yönetilmeyen kaynakları içeren nesne sonlandırıldığında belleği boşaltmak için bu sorumluluk çöp toplayıcıya bırakılır.

Neden C# ile elden çıkarmamız gerekiyor?

Her zaman kullanılması tavsiye edilir Elden çıkarmak yönetilmeyen kaynakları temizleme yöntemi. Ancak yönetilmeyen kaynaklar (Örneğin, Windows API tarafından oluşturulan nesneler, Dosya, Veritabanı bağlantı nesneleri, COM nesneleri vb.). NET çerçevesi Biz kaynaklarımızı açıkça temizlememiz gerekiyor. Bu tür nesneler için,.

Önerilen: