System.AppDomain.IsFinalizingForUnload 方法

方法描述

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

语法定义(C# System.AppDomain.IsFinalizingForUnload 方法 的用法)

public bool IsFinalizingForUnload()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 System.Boolean 如果此应用程序域正在卸载,并且公共语言运行时已开始调用终止程序,则为 true;否则为 false。

提示和注释

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

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

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

注意

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

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

System.AppDomain.IsFinalizingForUnload 方法例子


异常

异常 异常描述

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。