在实现 IDisposable 时,我知道在对象被释放后不应调用的每个方法都应抛出 ObjectDisposeException
。但是应该传递给异常构造函数的名称对象的标准是什么?
请您参考如下方法:
我认为推荐的做法是抛出以下内容:
throw new ObjectDisposedException(GetType().FullName);
或者包括检查,这两行代码位于每个需要它的方法的顶部(显然不是 Dispose
方法本身):
if (this.disposed)
throw new ObjectDisposedException(GetType().FullName);
将其重构为一个小方法以提高可用性甚至可能会有所帮助。