Sdílet prostřednictvím


AppDomain.IsFinalizingForUnload Metoda

Definice

Určuje, zda se tato doména aplikace uvolňováním a objekty, které obsahuje, jsou finalizovány modulem CLR (Common Language Runtime).

public:
 bool IsFinalizingForUnload();
public bool IsFinalizingForUnload();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean

Návraty

truepokud se tato doména aplikace uvolňováním a modul CLR (Common Language Runtime) spustil vyvolání finalizačních metod; v opačném případě . false

Poznámky

Finalizační metoda objektu poskytuje příležitost provést všechny nezbytné operace čištění před uvolněním paměti objektu. Po dokončení je objekt přístupný, ale v neplatném stavu a proto je nepoužitelný. Nakonec se uvolňování paměti dokončí a uvolní objekt.

Metoda finalizace objektu se volá v jedné z následujících situací: během uvolňování paměti, při vypnutí modulu CLR (Common Language Runtime) nebo při uvolnění domény aplikace, která obsahuje objekt. Metoda IsFinalizingForUnload vrací true pouze v posledním případě; nevrací true , pokud je výsledkem dokončení rutinní uvolňování paměti nebo vypnutí CLR.

Poznámka:

Chcete-li zjistit, zda dokončení je způsobeno vypnutím CLR, použijte Environment.HasShutdownStarted vlastnost. true Vrátí, pokud je dokončení způsobené uvolněním domény aplikace nebo vypnutím modulu CLR.

Při provádění v metodě finalizace během uvolňování domény můžete chtít získat přístup k jinému objektu, na který odkazuje statické pole a má metodu finalizace. Nemůžete to ale spolehlivě provést, protože již byl přístupný objekt dokončen.

Poznámka:

Výjimkou tohoto pravidla je Console třída, která obsahuje statická pole, která odkazují na objekty datových proudů, ale je implementována speciálně, takže můžete vždy zapisovat do systémové konzoly, a to i během uvolnění domény nebo vypnutí systému.

Tuto metodu použijte v metodě finalizace objektu k určení, zda je doména aplikace obsahující objekt uvolňování. V takovém případě nemůžete spolehlivě přistupovat k žádnému objektu, který má metodu finalizace a odkazuje se na statické pole.

Platí pro

Viz také