Environment.HasShutdownStarted 属性

获取一个值,该值指示是否公共语言运行库正在关闭或者当前的应用程序域正在卸载。

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

语法

声明
Public Shared ReadOnly Property HasShutdownStarted As Boolean
用法
Dim value As Boolean

value = Environment.HasShutdownStarted
public static bool HasShutdownStarted { get; }
public:
static property bool HasShutdownStarted {
    bool get ();
}
/** @property */
public static boolean get_HasShutdownStarted ()
public static function get HasShutdownStarted () : boolean

属性值

如果公共语言运行库正在关闭或者当前的 AppDomain 正在卸载,则为 true;否则为 false。 当前的应用程序域为包含正在调用 HasShutdownStarted 的对象的 AppDomain

备注

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

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

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

提示

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

在对象的完成方法中使用此方法可确定公共语言运行库是否正在关闭或者应用程序域是否正在卸载。如果是这种情况,则您将无法可靠地访问具有完成方法并且由静态字段引用的任何对象。

示例

下面的代码示例显示公共语言运行库是否正在关闭。

' Sample for the Environment.HasShutdownStarted property
Imports System

Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted)
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
'HasShutdownStarted: False
'
// Sample for the Environment.HasShutdownStarted property
using System;

class Sample 
{
    public static void Main() 
    {
    Console.WriteLine();
    Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);
    }
}
/*
This example produces the following results:

HasShutdownStarted: False
*/
// Sample for the Environment::HasShutdownStarted property
using namespace System;
int main()
{
   Console::WriteLine();
   Console::WriteLine( "HasShutdownStarted: {0}", Environment::HasShutdownStarted );
}

/*
This example produces the following results:

HasShutdownStarted: False
*/
// Sample for the Environment.HasShutdownStarted property
import System.*;

class Sample
{
    public static void main(String[] args)
    {
        Console.WriteLine();
        Console.WriteLine("HasShutdownStarted: {0}", 
            System.Convert.ToString(Environment.get_HasShutdownStarted()));
    } //main
} //Sample

/*
This example produces the following results:

HasShutdownStarted: False
*/

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、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

请参见

参考

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