当我阅读了几篇关于 C# 中内存管理的文章时,我对 Finalizer 方法感到困惑。
有很多复杂的规则与之相关。例如,没有人知道终结器何时会被调用,即使 ctor 中的代码抛出,它们也会调用,CLR 不保证在程序关闭时调用所有终结器等。
在现实生活中可以使用哪些终结器?
我发现的唯一一个例子是 GC 启动时发出哔哔声的程序。
您是否在代码中使用终结器并且可能有一些好的示例?
升级版:
当开发人员想要确保某些类始终通过 IDisposable 正确处理时,可以使用终结器。(链接;感谢史蒂夫汤森)