在c#中,Destructor是类的一种特殊方法,它在类内部用于销毁对象或类实例。
一个类中只能有一个析构函数
以下是C#中的析构函数的属性
析构函数将不接受任何参数
析构函数将以波浪号(〜)开头
不能在结构中定义析构函数(〜)。
不能调用析构函数。它们是自动调用的。
析构函数在对象的基类上隐式调用Finalize。
class Demo{ ~Demo(){ //Finalizer //清理语句...- } } class Program{ static void Main(){ Console.ReadLine(); } }
终结器在对象的基类上隐式调用Finalize。因此,对终结器的调用被隐式转换为以下代码-
protected override void Finalize(){ try{ //清理语句...- } finally{ base.Finalize(); } }
程序员无法控制何时调用终结器
如果我们声明多个析构函数,则编译器将引发错误。
'Demo'已经定义了一个名为'〜Demo'的成员
class Demo{ ~Demo(){ } ~Demo(){ } } class Program{ static void Main(){ Console.ReadKey(); } }