我有幾個靜態方法將窗體轉換爲控件(如下所示)。分析器標記兩個,聲明:「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