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 本身正在关闭。 此方法返回 true 调用终结器是因为应用程序域正在卸载,或者 false CLR 正在关闭。

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

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

适用于

另请参阅