【发布时间】:2011-05-27 09:38:06
【问题描述】:
在实现IDisposable 的类中,何时检查对象是否已被释放并抛出ObjectDisposedException 是否合理?在所有公共方法和属性中(Dispose 除外)?有时?从来没有?
【问题讨论】:
-
你不会简单地将对象包装在 using 语句中吗?因此在不需要时自动处理对象?
-
@Darren:那么您假设我的一次性类型的 user 行为正确。很少这样! :-)
-
@Lazarus:GC 与
IDisposable/Dispose没有任何关系。 GC 收集未引用的对象;它不会处理任何东西。 -
好的不错的一个.. 所以如果 dispose 出现任何问题,那么您将如何知道对象是否已被释放,这正是您要寻找的吗?
-
@Lazarus:我认为您误解了 dispose 的含义。 Dispose 只不过是类实现的接口中的一个方法。它真的与 GC 或 CLR 无关。
标签: c# dispose idisposable objectdisposedexception