AppDomain.IsFinalizingForUnload 方法

指示此应用程序域是否正在卸载以及公共语言运行库是否正在终止该域包含的对象。

**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Function IsFinalizingForUnload As Boolean
用法
Dim instance As AppDomain
Dim returnValue As Boolean

returnValue = instance.IsFinalizingForUnload
public bool IsFinalizingForUnload ()
public:
bool IsFinalizingForUnload ()
public boolean IsFinalizingForUnload ()
public function IsFinalizingForUnload () : boolean

返回值

如果此应用程序域正在卸载,并且公共语言运行库已开始调用终止程序,则为 true;否则为 false

备注

在将对象作为垃圾回收之前,对象的完成方法为您提供一个机会来执行任何必要的清理操作。完成后仍可访问对象,但对象处于无效状态,因而无法使用。最后,垃圾回收完成,对象被回收。

在下列情况之一时会调用对象的完成方法:在垃圾回收期间,在卸载包含对象的应用程序域时,或者在关闭公共语言运行库时。

在域卸载过程中执行终止方法时,您可能需要访问另一个由静态字段引用并且有终止方法的对象。但是,您无法可靠地进行此操作,因为访问的对象可能已经完成。

提示

此规则的例外是 Console 类,该类包含引用流对象的静态字段,不过该类实现方式比较特殊,以便您始终能够向系统控制台进行写入(即使在卸载域期间或系统关闭期间也能进行写入)。

在对象的终止方法中使用此方法可确定包含该对象的应用程序域是否正在卸载。如果是这种情况,则您将无法可靠地访问具有完成方法并且由静态字段引用的任何对象。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

AppDomain 类
AppDomain 成员
System 命名空间
Environment.HasShutdownStarted