为了在所有主要公开方法的开头 bool disposed
有条件地抛出 an ,在其他线程安全类型上跟踪经典字段是否有任何意义?ObjectDisposedException
我在网上的一些地方看到过这种模式推荐,但我不确定作者是否正确使用它,所以这个问题假设他们是。
在这种情况下,似乎确保disposed
条件在条件评估之外为真的唯一方法是在每个暴露成员的整个主体上使用同步机制,例如 lock(),包括 Dispose(bool) 方法。这不会使类型再次有效地单线程吗?
如果这是真的,那么使用它就没有意义了,因此您不能在某些 IDisposable 实现中依赖 ObjectDisposedException 机制——那么如果没有必要,我们为什么还要使用这种机制呢?
====
我猜 IDisposable 和 ObjectDisposedException 只是不适合线程安全类型。