在C#中,一个类中可以有多少个析构函数?

在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();

   }

}

以上是 在C#中,一个类中可以有多少个析构函数? 的全部内容, 来源链接: utcz.com/z/345440.html

回到顶部