我有一个表单,其中包含一个实现IDisposable而不是IComponent的成员.我需要在表格处理时处理它.不幸的是,表单的dispose已经在代码的自动生成部分中实现,并且不是部分的.
我该如何处置这个物体?
解决方法
在表单中覆盖
Form.Dispose(bool),并在那里处理您的对象.
为了理解其工作原理,可以参考Implementing a Dispose Method上的MSDN页面.Form类遵循这种模式,它允许您覆盖子类中的Dispose(bool). (只需确保在覆盖中正确调用base.Dispose(disposing).)
如果您不乐意将此文件从.designer.cs文件移动到主.cs文件中,则另一个选项是订阅您自己的FormClosed事件,并在该事件处理程序中处理您的资源. MSDN推荐这种方法 – 来自FormClosed的文档:
You can use this event to perform tasks such as freeing resources used by the form and to save information entered in the form or to update its parent form.