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 方法(从派生程度最大的到派生程度最小的)。