Temizle() .NET bileşeni kaplarda ing öğeler değil imha onları (Dispose (gerçek) çağırarak yaptığı gerçeği hakkında birden ipler (a, b, c vs.) vardır.Temizle kontroller bunları bertaraf etmez - risk nedir?
en sık IMHO, Clear-ed bileşenleri uygulamada artık kullanılmamaktadır, bu yüzden açıkça ana kutularından silme sonra Elden gerekiyor.
Belki koleksiyonunClear
yöntem bir bool vardı iyi bir fikirdir parametre
dispose
, true olduğunda, toplama öğeleri listeden kaldırılmadan önce de imha edilir?
, onlar tanzim alacak. Olmazsa, muhtemelen (programcı kabul edilen uygulamaları izlediyse) imha edilmek üzere yönetilmeyen bir şey yoktur ve sadece onları toplamak için çöplük vardır. –
@Aviad: Dispose yönteminin GC tarafından hiçbir zaman çağrılmayacağı sorusu, bu nedenle koleksiyonda Temizle'yi çağırmadan önce tek tek yapmanız gerekir. – serhio
Demek istediğim, eğer kontrolün programcısı sonlandırıcıya bir Atma çağrısı koymadıysa (nesne çöp toplandığında çağrılır) - o zaman muhtemelen atılacak hiçbir şey yoktur. –