Environment.HasShutdownStarted 属性

定义

获取一个值,该值指示当前应用程序域是正在卸载还是公共语言运行时(CLR)正在关闭。

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

属性值

true 如果当前应用程序域正在卸载或 CLR 正在关闭,则为否则,为 false.

注解

.NET Framework:当 CLR 卸载应用程序域时,它会在具有该应用程序域中终结器方法的所有对象上运行终结器。 CLR 关闭时,它会在具有终结器方法的所有对象上启动终结器线程。 该 HasShutdownStarted 属性仅在终结器线程启动后返回 true 。 当属性返回 true时,你可以通过调用 AppDomain.IsFinalizingForUnload 该方法来确定应用程序域是正在卸载还是 CLR 本身正在关闭。 此方法返回 true 调用终结器是因为应用程序域正在卸载,或者 false CLR 正在关闭。

如果尚未启动终结器线程,则此属性 HasShutdownStartedfalse 返回。

通过使用此属性,可以确定是否在最终化代码中访问静态变量。 如果应用程序域或 CLR 正在关闭,则无法可靠地访问具有最终化方法且由静态字段引用的任何对象。 这是因为这些对象可能已经完成。

适用于

另请参阅