在阅读一些有关C#内存管理的文章时,我被终结器方法所困惑。
与它们相关的规则非常复杂。例如,没有人知道终结器何时会被调用,即使在构造函数中的代码引发异常,它们也会被调用;CLR不保证在程序关闭时调用所有终结器等。
那么终结器可以在现实生活中用来干什么呢?
我找到的唯一一个例子就是当GC启动时哔哔声的程序。
您是否在代码中使用终结器,并且有一些好的示例?
更新:
当开发人员想要通过IDisposable确保某个类始终正确清除时,可以使用终结器。 (链接 ;感谢Steve Townsend)