Environment.HasShutdownStarted 屬性

定義

取得值,這個值表示正在卸載目前的應用程式定義域,或是正在關閉通用語言執行平台 (CLR)。

public:
 static property bool HasShutdownStarted { bool get(); };
public static bool HasShutdownStarted { get; }
member this.HasShutdownStarted : bool
Public Shared ReadOnly Property HasShutdownStarted As Boolean

屬性值

Boolean

true 如果正在卸載目前的應用程式域,或 CLR 正在關閉則為 ;否則為 false

備註

僅限.NET Framework:CLR 卸載應用程式域時,它會在該應用程式域中具有完成項方法的所有物件上執行完成項。 當 CLR 關閉時,它會在具有完成項方法的所有物件上啟動完成項執行緒。 只有在啟動完成項執行緒之後,屬性 HasShutdownStarted 才會傳回 true 。 當 屬性傳 true 回 時,您可以呼叫 AppDomain.IsFinalizingForUnload 方法來判斷正在卸載應用程式域,還是 CLR 本身正在關閉。 如果因為應用程式域正在卸載或 false CLR 正在關閉而呼叫完成項,這個方法會傳回 true

如果完成項執行緒尚未啟動,屬性 HasShutdownStarted 會傳回 false

藉由使用這個屬性,您可以判斷是否要在最終化程式碼中存取靜態變數。 如果應用程式域或 CLR 正在關閉,您就無法可靠地存取具有最終化方法且靜態欄位所參考的任何物件。 這是因為這些物件可能已經完成。

適用於

另請參閱