Sdílet prostřednictvím


AppDomain.IsFinalizingForUnload Metoda

Definice

Určuje, jestli se tato doména aplikace odloží 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

Boolean

truepokud se tato doména aplikace odloží a modul CLR (Common Language Runtime) spustil vyvolání finalizátorů; v opačném případě . false

Poznámky

Metoda finalizace objektu poskytuje příležitost provádět všechny nezbytné operace čištění před shromažďová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 se vrátí true pouze v posledním případě; nevrací true , pokud výsledkem dokončení je rutinní uvolňování paměti nebo vypnutí CLR.

Poznámka

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

Při provádění metody 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 přístupový objekt již pravděpodobně byl dokončen.

Poznámka

Výjimkou tohoto pravidla je Console třída, která obsahuje statická pole, která odkazují na objekty streamu, 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 doména aplikace, která obsahuje objekt, je uvolnění. V takovém případě nemůžete spolehlivě získat přístup k žádnému objektu, který má metodu finalizace a odkazuje se na statické pole.

Platí pro

Viz také