Aracılığıyla paylaş


AppDomain.IsFinalizingForUnload Yöntem

Tanım

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ıldığı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ırma işleminden sonra nesne erişilebilir ancak geçersiz durumdadır ve bu nedenle kullanılamaz. Sonunda çöp toplama işlemi tamamlanıp nesneyi geri alır.

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 kapatma işleminden sonuçlanırsa sonuçlanmaztrue.

Uyarı

Sonlandırmanın CLR kapatma işleminden 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.

Uyarı

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 sistem konsoluna her zaman 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 nesnenin sonlandırma yönteminde bu yöntemi kullanın. Bu durumda, bir sonlandırma yöntemi olan ve statik bir alan tarafından başvurulan hiçbir nesneye güvenilir bir şekilde erişemezsiniz.

Şunlara uygulanır

Ayrıca bkz.