自从我第一次学习C#类以来,我就知道不仅不能显式调用类的
Finalize()
方法(它由垃圾回收器调用),而且我甚至不能在自定义类中实现它。让我有些困惑的是,在MSDN这样的地方中 -
默认情况下,Object.Finalize方法不执行任何操作。如果要在对象被回收内存之前让垃圾回收器执行清理操作,则必须在类中覆盖此方法。
我发现很多地方都建议使用其他方法。有人可以解释一下为什么吗?
ClassName.~ClassName()
语法吗?我认为不行。 - atiyarclass Foo { public ~Foo() { ... }}
,我猜你无法以任何方式直接调用它。至少不能使用那种语法。 - Joeyusing
语法或应用程序域退出之一吗? - atiyar