AppDomain.IsFinalizingForUnload Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.