AppDomain.IsFinalizingForUnload Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu uygulama etki alanının kaldırılıp kaldırılmadığını ve içerdiği nesnelerin ortak dil çalışma zamanı tarafından sonlandırılıp sonlandırılmadığını gösterir.
public:
bool IsFinalizingForUnload();
public bool IsFinalizingForUnload ();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean
Döndürülenler
true
Bu uygulama etki alanı kaldırılıyorsa ve ortak dil çalışma zamanı sonlandırıcıları çağırmaya başladıysa; aksi takdirde , false
.
Açıklamalar
Bir nesnenin sonlandırma yöntemi, nesne çöp toplanmadan önce gerekli temizleme işlemlerini gerçekleştirme fırsatı sağlar. Sonlandırmadan sonra nesne erişilebilir, ancak geçersiz durumda ve bu nedenle kullanılamaz. Sonuç olarak, çöp toplama işlemi tamamlanıp nesneyi geri alır.
Bir nesnenin sonlandırma yöntemi şu durumlardan birinde çağrılır: çöp toplama sırasında, ortak dil çalışma zamanı kapatılırken veya nesneyi içeren uygulama etki alanı kaldırıldığında. IsFinalizingForUnload yöntemi yalnızca son durumda döndürürtrue
; yordam çöp toplama veya CLR kapatmadan sonuçlanırsa döndürmeztrue
.
Not
Sonlandırmanın CLR kapatmadan kaynaklanıp kaynaklanmayacağını belirlemek için özelliğini kullanın Environment.HasShutdownStarted . Sonlandırmanın bir uygulama etki alanının kaldırılmasından mı yoksa CLR'nin kapatılmasından mı kaynaklandığını döndürür true
.
Etki alanı kaldırma sırasında sonlandırma yönteminizde yürütülürken, statik bir alan tarafından başvuruda bulunan ve bir sonlandırma yöntemi olan başka bir nesneye erişmek isteyebilirsiniz. Ancak, erişilen nesne zaten sonlandırılmış olabileceğinden bunu güvenilir bir şekilde yapamazsınız.
Not
Bu kuralın Console bir istisnası, akış nesnelerine başvuran statik alanlar içeren, ancak etki alanı kaldırma veya sistem kapatma sırasında bile her zaman sistem konsoluna yazabilmeniz için özel olarak uygulanan sınıfıdır.
Nesneyi içeren uygulama etki alanının kaldırılıp kaldırılmadığını belirlemek için bir nesnenin sonlandırma yönteminde bu yöntemi kullanın. Böyle bir durumda, sonlandırma yöntemi olan ve statik bir alan tarafından başvurulan hiçbir nesneye güvenilir bir şekilde erişemezsiniz.