如何调用析构函数

时间:2017-01-30 18:28:28

标签: c# .net c#-4.0 c#-3.0 c#-2.0

我知道当不再使用对象时,垃圾收集器会调用析构函数。 但我想知道

  

如何通过c#代码调用析构函数?

如果可能,请提供一些理解的基本示例。

2 个答案:

答案 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

与类名相同但带有前导“〜”符号的函数