如何调用析构函数

San*_*jiv -4 .net c# c#-3.0 c#-2.0 c#-4.0

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

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

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

are*_*ler 7

您无需在.NET中调用析构函数。托管堆仅由CLR和CLR处理。

但是,您可以为类定义一个析构函数,一旦GC收集了对象,就会调用该析构函数

class Foo
    {
        public Foo()
        {
            Console.WriteLine("Constructed");
        }

        ~Foo()
        {
            Console.WriteLine("Destructed");
        }
    }
Run Code Online (Sandbox Code Playgroud)

请注意,析构函数的前面没有(也不能拥有)公共修饰符,这暗示着您不能显式调用对象的析构函数。