如果我有拥有管理IDisposable
对象需要保持周围的窗体的寿命(即一流水平的成员,或许是一类包装和管理的单元测试的缘故定时器)形式,什么时候应该打电话Dispose()
?我应该在哪里处理由表单管理的对象?
对于这个问题(避免“GC将其丢弃你”式的答案),我们还假设有额外的停机逻辑我需要调用,例如着想:
Buffer.Flush()
Buffer.Dispose()
我可以将其放入我的部分类(Form.Designer.vb
)中Dispose()
方法的现有实现中,但修改该类通常是不被接受的。
看来,FormClosed
或Disposed
事件将是最好的选择。任何理由选择一个在另一个之上?
如果它实现了'IDisposable',则应该用'using'语句包装资源的创建。 – Oded 2012-07-09 20:21:28
如果是需要留级的班级成员,我不能那样做,对吗? (编辑问题添加这个额外的信息) – 2012-07-09 20:27:07
不,你不能这样做与领域。从你的问题中不清楚这是一个领域。请编辑并澄清。 – Oded 2012-07-09 20:28:06