«idisposable» etiketlenmiş sorular

IDisposable, Microsoft .NET Framework'ün Temel Sınıf Kitaplığı (BCL) içindeki bir arabirimdir. .NET uygulama kodu içinde yönetilmeyen kaynakları serbest bırakmak için genel, belirleyici bir yöntem sağlaması amaçlanmıştır.

19
IDisposable arayüzünün doğru kullanımı
Microsoft belgelerini okurken ,IDisposable arabirimin "birincil" kullanımının yönetilmeyen kaynakları temizlemek olduğunu biliyorum . Bana göre, "yönetilmeyen" veritabanı bağlantıları, soketler, pencere kolları, vb. Gibi şeyler anlamına gelir. Ancak, çöp toplayıcısının ilgilenmesi gerektiğinden, bana gereksiz olan Dispose()ücretsiz yönetilen kaynaklara yöntemin uygulandığı kodu gördüm . bu senin için. Örneğin: public class MyCollection : …

13
C # 'da Sonlandırma / Atma yönteminin kullanılması
C # 2008 Bir süredir bunun üzerinde çalışıyorum ve hala kodda sonlandırma ve atma yöntemlerinin kullanımı hakkında kafam karıştı. Sorularım aşağıda: Yönetilmeyen kaynakları elden çıkarırken yalnızca bir sonlandırıcıya ihtiyacımız olduğunu biliyorum. Ancak, yönetilmeyen kaynaklara çağrı yapan yönetilen kaynaklar varsa, yine de bir sonlandırıcı uygulaması gerekir mi? Ancak, herhangi bir yönetilmeyen …

12
HttpClient ve HttpClientHandler istekler arasında imha edilmeli mi?
.NET Framework 4.5'te System.Net.Http.HttpClient ve System.Net.Http.HttpClientHandler IDisposable'ı ( System.Net.Http.HttpMessageInvoker aracılığıyla ) uygular . usingDeyimi belgelerine diyor ki: Kural olarak, IDisposable nesnesini kullandığınızda, bunu bir using deyiminde bildirmeli ve başlatmalısınız. Bu cevap şu kalıbı kullanır: var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() …


10
DataSet ve DataTable'ı Atmalı mıyım?
DataSet ve DataTable her ikisi de IDisposable uygular, bu nedenle, geleneksel en iyi uygulamalarla, onların Dispose () yöntemlerini çağırmalıyım. Ancak, şimdiye kadar okuduğum kadarıyla, DataSet ve DataTable'ın aslında yönetilmeyen kaynakları yok, bu yüzden Dispose () aslında fazla bir şey yapmıyor. Ayrıca, using(DataSet myDataSet...)DataSet'in DataTable koleksiyonu olduğu için kullanamıyorum . Bu …



6
Akış nesneleri için Close () veya Dispose () çağırmalı mıyım?
Gibi sınıfları Stream, StreamReader, StreamWritervb uygular IDisposablearayüz. Bu Dispose(), bu sınıfların nesneleri üzerinde yöntem çağırabileceğimiz anlamına gelir . Ayrıca publicadında bir yöntem de tanımladılar Close(). Şimdi, nesnelerle işim bittiğinde ne aramalıyım diye kafamı karıştırıyor? Ya ikisini de ararsam? Mevcut kodum şu: using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader …


9
Çöp Toplayıcı IDisposable'ı arayacak mı?
.NET IDisposable Pattern , bir sonlandırıcı yazar ve IDisposable uygularsanız sonlandırıcının açıkça Dispose'i çağırması gerektiğini belirtir. Bu mantıklı ve sonlandırıcının garanti edildiği nadir durumlarda her zaman yaptığım şey bu. Ancak, sadece bunu yaparsam ne olur: class Foo : IDisposable { public void Dispose(){ CloseSomeHandle(); } } ve bir sonlandırıcı veya …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.