C# 中一个类可以有多少个析构函数?
csharpserver side programmingprogramming更新于 2025/4/21 19:37:17
在 c# 中,析构函数是类的一个特殊方法,用于在类内部销毁对象或类的实例。
一个类中只能有一个析构函数
以下是 c# 中析构函数的属性
析构函数不接受任何参数
析构函数以波浪符号 (~) 开头
析构函数 (~) 不能在结构体中定义。
无法调用析构函数。它们会自动调用。
析构函数隐式调用对象基类上的 Finalize。
示例
class Demo{
~Demo(){ //Finalizer
// cleanup 语句...
}
}
class Program{
static void Main(){
Console.ReadLine();
}
}
终结器隐式调用对象基类上的 Finalize。因此,对终结器的调用被隐式转换为以下代码 −
protected override void Finalize(){
try{
// Cleanup 语句...
}
finally{
base.Finalize();
}
}
程序员无法控制何时调用终结器
如果我们声明多个析构函数,则编译器将抛出错误。
'Demo' 已经定义了一个名为 '~Demo' 的成员
class Demo{
~Demo(){
}
~Demo(){
}
}
class Program{
static void Main(){
Console.ReadKey();
}
}

