何时应使用析构函数

本文关键字:析构函数 何时应 | 更新日期: 2023-09-27 18:34:31

在C#中,我了解到我可以创建一个类析构函数,如下所示:

public class MyClass
{
    ~MyClass()
    {
    }
}

我的问题是我应该何时以及在什么情况下在 C# 中使用析构函数(如果有的话(?

是否有一个我应该注意的常见用例?

何时应使用析构函数

程序员无法控制何时执行析构函数,因为这是由垃圾回收器确定的。垃圾回收器检查应用程序不再使用的对象。它认为这些物体符合销毁条件并回收它们的记忆。当程序退出时,也会调用析构函数。当析构函数执行后台发生的事情时,析构函数会隐式调用对象的基类上的 Object.Finalize 方法。析构函数代码隐式转换为如下所示的内容:

protected override void Finalize()
{
   try
   {
      // Cleaning up .
   }
   finally
   {
      base.Finalize();
   }
}