在我写的一个类中,我正在使用一个对象在我正在编写的自定义类中设置它的一些属性。
这是在构造函数中完成的,但该类有一个Dispose()方法。
我从未在具有Dispose()方法/实现IDisposable的构造函数中实际使用过对象。我应该在using(...)语句中包装它还是应该实现析构函数/终结符?
我的想象力让我问这个:这个类是第三方封闭源API的一部分。我怎样才能找出需要处理的内容?
由于
答案 0 :(得分:5)
如果对对象的引用是构造函数的本地引用,则只需将其包装在using语句中。
如果你对这个对象的引用是一个类成员,那么你的类也应该实现IDisposable,它的Dispose()方法在对象上调用Dispose()。
答案 1 :(得分:1)
只是为了回答问题的其他部分而添加:
我总是选择在可能的情况下将IDisposable包装在Using块中,因为我认为它比尝试显式调用Dispose()方法更简洁。
答案 2 :(得分:0)
如果你不需要构造函数之外的对象,为什么不使用using语句? 如果有一个特殊的“破坏”代码 - 使用是不够的,你需要从某个地方调用它的处理代码......