我有以下功能:呼叫System.IDisposable.Dispose超出範圍
private void emailVideoButton_Click(object sender, EventArgs e)
{
VideoEMailForm emailForm = new VideoEMailForm();
emailForm.ShowDialog();
}
這給了我以下警告:
警告1 CA2000:Microsoft.Reliability:在方法 'VideoPlayerControl.emailVideoButton_Click(object,EventArgs)'中,調用 System.IDisposable.Dispose在對象'emailForm'之前所有引用 超出範圍。
我看這個鏈接http://msdn.microsoft.com/en-us/library/ms182289(v=vs.80).aspx和聚集,我需要調用.Dispose像這樣:
private void emailVideoButton_Click(object sender, EventArgs e)
{
VideoEMailForm emailForm = new VideoEMailForm();
emailForm.ShowDialog();
emailForm.Dispose();
}
但後來我得到以下警告:
警告1個CA2000:微軟。可靠性:在方法 'VideoPlayerControl.emailVideoButton_Click(object,EventArgs)'中,對象 'emailForm'不會沿着所有異常路徑放置。調用 System.IDisposable.Dispose在對象'emailForm'之前,所有引用 超出範圍。
誰能幫我擺脫這個警告嗎?
所以我不必手動調用.Dispose然後當我用這個方法???? –
這是正確的。編譯器會爲你添加Dispose調用。 – Rotem
你的例子中的第二個代碼真的有用嗎?當我這樣做,我得到一個名稱不存在當前上下文錯誤。 – Bastardo