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 がシャットダウンすると、ファイナライザー メソッドを持つすべてのオブジェクトでファイナライザー スレッドが開始されます。 このプロパティは HasShutdownStartedtrue ファイナライザー スレッドが開始された後にのみ返されます。 プロパティが返 trueされるときに、アプリケーション ドメインがアンロードされているか、CLR 自体がシャットダウンしているかを、メソッドを呼び出 AppDomain.IsFinalizingForUnload すことによって判断できます。 このメソッドは、 true アプリケーション ドメインがアンロードされているためにファイナライザーが呼び出された場合、または false CLR がシャットダウンしている場合に返されます。

このプロパティは HasShutdownStartedfalse ファイナライザー スレッドが開始されていない場合に返されます。

このプロパティを使用すると、終了コードで静的変数にアクセスするかどうかを決定できます。 アプリケーション ドメインまたは CLR がシャットダウンしている場合、最終処理メソッドを持ち、静的フィールドによって参照されているオブジェクトに確実にアクセスすることはできません。 これは、これらのオブジェクトが既に完成している可能性があるためです。

適用対象

こちらもご覧ください