处理模式使用

时间:2016-06-01 20:52:39

标签: design-patterns dispose

我在Dispose PatternDispose Implementation上阅读了这些文章。我的问题是从终结器调用虚拟dispose(bool)方法时,为什么我们只将false传递给方法并释放非托管资源?如果我们通过了,它会破坏什么?

即使我们已经实现了IDisposble接口,它仍然依赖开发人员将代码包装在中使用块或显式调用Dispose(),以便Dispose()方法被调用。如果开发人员不够谨慎,那么IDisposble接口的插件是什么?

1 个答案:

答案 0 :(得分:1)

从您的第一个链接:

  

布尔参数disposing指示方法是否为   从IDisposable.Dispose实现或从   终结。 Dispose(bool)实现应该检查参数   在访问其他参考对象之前(例如,在中的资源字段)   前面的例子)。只有在访问时才能访问这些对象   从IDisposable.Dispose实现调用方法(当时   disposing参数等于true)。如果从中调用该方法   终结器(处理是假的),其他对象不应该   访问。 原因是对象在不可预测的情况下最终确定   他们或他们的任何依赖关系可能已经有了   已经最终确定。

希望这有帮助。