为什么在没有Finalizer时使用GC.SuppressFinalize()?

时间:2013-09-29 13:25:09

标签: c# .net garbage-collection dispose idisposable

正如问题所述,我只是想知道,因为我被问及我没有线索,这有什么理由吗?

2 个答案:

答案 0 :(得分:6)

当一个类没有定义Finalizer(析构函数)时,在该类has no effect的实例上调用SuppressFinalize()

当你看到它时,它通常是完整的Disposable实现的遗留。只需删除它或忽略它。

答案 1 :(得分:2)

如果有人稍后添加了终结工具并忘记添加GC.SuppressFinalize(),原因可能是防止发生潜在错误。