相关疑难解决方法(0)

如何扩展WinForm的Dispose方法?

我从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();
    }
Run Code Online (Sandbox Code Playgroud)

这适用于我的应用程序...但FxCop仍然显示此消息.我是否被覆盖,我可以安全地忽略它,还是我应该采取另一种方式做到这一点?

c# dispose fxcop winforms

62
推荐指数
2
解决办法
3万
查看次数

在 UserControl 上实现 Dispose(bool)

当 VS 设计器已经使用DebuggerNonUserCode属性实现它时,如何在 UserControl 上实现 Dispose(boolean) ?我对这个方法的修改会被删除吗?

(来自 UserControl.Designer.vb 的代码)

<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Run Code Online (Sandbox Code Playgroud)

.net user-controls dispose visual-studio-designer

0
推荐指数
1
解决办法
2105
查看次数