AppDomain.IsFinalizingForUnload Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger om den här programdomänen tas bort och de objekt som den innehåller slutförs av den vanliga språkkörningen.
public:
bool IsFinalizingForUnload();
public bool IsFinalizingForUnload();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean
Returer
trueom den här programdomänen tas bort och den vanliga språkkörningen har börjat anropa finalizers; annars . false
Kommentarer
Slutföringsmetoden för ett objekt ger dig möjlighet att utföra nödvändiga rensningsåtgärder innan objektet samlas in. Efter slutförande är objektet tillgängligt men i ett ogiltigt tillstånd och därför oanvändbart. Så småningom slutför och återtar skräpinsamling objektet.
Ett objekts slutmetod anropas i någon av följande situationer: under skräpinsamling, när den vanliga språkkörningen stängs av eller när programdomänen som innehåller objektet tas bort. Metoden returnerar IsFinalizingForUnload endast i det sista fallet. Den true returneras true inte om slutförande beror på rutinmässig skräpinsamling eller från CLR-avstängning.
Note
Använd egenskapen för att avgöra om slutförande beror på CLR-avstängning Environment.HasShutdownStarted . Den returnerar true om slutförande beror på att en programdomän tas bort eller att CLR stängs av.
När du kör i din finaliseringsmetod under domänens avlastning kanske du vill komma åt ett annat objekt som refereras till av ett statiskt fält och som har en slutmetod. Du kan dock inte göra det på ett tillförlitligt sätt eftersom det använda objektet kanske redan har slutförts.
Note
Ett undantag till den Console här regeln är klassen, som innehåller statiska fält som refererar till strömobjekt, men som implementeras särskilt så att du alltid kan skriva till systemkonsolen, även under domänavlastning eller systemavstängning.
Använd den här metoden i ett objekts slutmetod för att avgöra om programdomänen som innehåller objektet tas bort. I så fall kan du inte på ett tillförlitligt sätt komma åt något objekt som har en slutmetod och som refereras till av ett statiskt fält.