21.C#编程指南-析构函数

析构函数用于析构类的实例。

  • 不能在结构中定义析构函数。只能对类使用析构函数。
  • 一个类只能有一个析构函数。
  • 无法继承或重载析构函数。
  • 无法调用析构函数。它们是被自动调用的。
  • 析构函数既没有修饰符,也没有参数。

例如,下面是类 Car 的析构函数的声明:

View Code
class Car
{
    ~Car()  // destructor
    {
        // cleanup statements...
    }
}

该析构函数隐式地对对象的基类调用 Finalize 这样,前面的析构函数代码被隐式地转换为以下代码:

View Code
protected override void Finalize()
{
    try
    {
        // Cleanup statements...
    }
    finally
    {
        base.Finalize();
    }
}

这意味着对继承链中的所有实例递归地调用 Finalize 方法(从派生程度最大的到派生程度最小的)。 

posted on 2012-05-20 09:55  YeChun  阅读(203)  评论(0编辑  收藏  举报

导航