我有几个静态方法将窗体转换为控件(如下所示)。分析器标记两个,声明:“CA2000:Microsoft.Reliability:在方法'...'中,对象'form'不是沿着所有异常路径处理的。在所有引用之前调用System.IDisposable.Dispose对象'form'超出范围“。类似的标记为tabPage
。代码分析警告处理表格
注意:对于没有Enterprise Edition和Analyzer菜单的用户,这看起来很像FxCop输出。
我不清楚我应该做什么。如果new
失败,则会抛出异常。我有什么机会拨打Dispose
?
class Foo
{
static public Form FormAsControl()
{
Form form = new Foo();
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Dock = DockStyle.Fill;
form.Visible = true;
return form;
}
static public TabPage FormAsTabPage()
{
Form form = Foo.FormAsControl();
TabPage tabPage = new TabPage();
tabPage.Text = form.Text;
tabPage.Controls.Add(form);
return tabPage;
}
...
}
“[SuppressMessage(”Microsoft.Reliability“,”CA2000“)]”像魅力一样工作。非常感谢你。 – jww 2012-01-10 18:34:38