我知道当不再使用对象时,垃圾收集器会调用析构函数。 但我想知道
如何通过c#代码调用析构函数?
如果可能,请提供一些理解的基本示例。
答案 0 :(得分:6)
您不在.NET中调用析构函数 托管堆仅由CLR和CLR处理。
但是,您可以为类定义析构函数,一旦GC收集了对象,就会调用析构函数
class Foo
{
public Foo()
{
Console.WriteLine("Constructed");
}
~Foo()
{
Console.WriteLine("Destructed");
}
}
注意析构函数不会(也不能)在它前面有一个公共修饰符,它有点暗示你不能显式调用对象的析构函数。
答案 1 :(得分:-2)
https://msdn.microsoft.com/en-us/library/66x5fx1b.aspx
与类名相同但带有前导“〜”符号的函数