在Winform上实现IDisposable的最佳实践是什么?
我有一个扩展System.Windows.Forms.Form
理想情况下,我将能够连接到生成代码中的Dispos(bool)覆盖,以释放手动添加的IDisposable对象。关于如何正确地做到这一点,有什么建议吗?
谢谢。
史考特
发布于 2009-01-16 16:01:27
您可以将该Dispose实现移出.designer.cs和.cs中。
发布于 2009-01-16 15:05:25
但是,您的字段需要是一个组件(实现IComponent接口或类似的东西)。是不是有点过火了?
也许你可以在处理事件上附加一个均衡器,然后把你的字段配置在那个平地里?
(或者只是将它们添加到Dispose方法中-我不认为这会是一个问题,因为afaik,Dispose方法中的代码不会重新生成.理想情况下,Dispose方法实现不应该在*.designer.cs类中. )。
发布于 2012-11-02 14:28:44
我在表单的designer.cs中发现的Dispose方法中取消注册任何事件
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
_frmFind.RaiseFindEvent -= _frmFind_RaiseFindEvent;
base.Dispose(disposing);
}https://stackoverflow.com/questions/450596
复制相似问题