【发布时间】:2010-11-06 07:59:18
【问题描述】:
我收到了来自 FxCop 的警告:
“'RestartForm' 包含 IDisposable 类型的字段 'RestartForm.done':'ManualResetEvent'。将 'RestartForm' 上的 Dispose 方法更改为在该字段上调用 Dispose 或 Close。”
好的,我明白这意味着什么以及为什么需要这样做...除了System.Windows.Forms.Form 不允许您覆盖.Close() 或.Dispose(),那该怎么办?目前我正在使用这个解决方案:
private void RestartForm_FormClosing(object sender, FormClosingEventArgs e)
{
done.Set();
done.Close();
}
这符合我的应用程序的预期...但 FxCop 仍然显示此消息。我是否被覆盖了,我可以安全地忽略它,还是有其他方法可以做到这一点?
【问题讨论】:
-
如果您不想接触设计器生成的代码,也可以在构造函数中订阅 Disposed 事件。