1.终结器声明
终结器(Finalizer),以前称为 析构函数(Destructor),用于在类实例被垃圾回收器回收时执行任何必要的最终清理操作。因此,无法在结构中定义终结器,它们仅用于类。
终结器的声明方式与方法相似,名称为所属类的名称前加~
波浪号,不过既不能包含参数和可访问性修饰符,也不能进行显式调用。
class Car
{
//常规语法
~Car() // finalizer
{
// cleanup statements...
}
}
using System;
public class Destroyer
{
public override string ToString() => GetType().Name;
//Expression-bodied表达式声明法
~Destroyer() => Console.WriteLine($"The {ToString()} finalizer is executing.");
}
2.重载
终结器不支持重载。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/8267.html