文章編號: 315528 - 上次校閱: 2007年5月11日 - 版次: 2.6 如何在 Visual Basic.NET 或 Visual Basic 2005 中衍生的類別中實作 Dispose 方法
結論當您撰寫擴充基底類別的類別時,需要某種方式處理配置資源的發行。如果要執行這項操作,應在衍生類別中覆寫自基底類別的 Dispose 方法。 本文將告訴您在這個案例中遇到的一般問題如何適當地覆寫 Dispose] 方法及是要釐清 subtleties 下列 Visual Basic.NET 協助文件中的部分: http://msdn2.microsoft.com/en-us/library/fs2xkftw(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/fs2xkftw(vs.71).aspx)
請參閱這個說明文件,如錯誤處理的相關詳細資訊,以及一般的 Dispose 方法的範例。 其他相關資訊基底類別必須包含一個多載的組 Dispose 方法。 第一個實例的範例程式碼後面的是不含參數,版本,而且第二個執行個體接受布林 (Boolean) 參數: Dispose () 是當物件處置的物件已建立程式碼中時,就會呼叫的方法。這是 公用 的方法,因此它可以被用類別的執行個體存在時。 Dispose () 方法再呼叫 Dispose(Boolean) 方法,並傳遞值為 TRUE。Dispose(Boolean) 方法負責清除類別的資源。 當類別衍生自基底類別時,只有 Dispose(Boolean) 方法需要被覆寫。所有資源-清理為衍生類別將會都執行在這個覆寫的方法,並再呼叫 Dispose(Boolean) 方法基底類別。下列是函式覆寫基底類別的一個基本範例: Dispose () 是物件的做為進入點的處置,並確保 TRUE 會傳遞至 Dispose(Boolean) 方法公開存取。FALSE 應該傳遞只有當藉由執行階段或 Finalize 方法呼叫 Dispose(Boolean) 方法。當傳遞 FALSE 時,會處置不受管理的資源。當傳遞 TRUE 時,會處置 Managed 和 Unmanaged 資源。 Visual Studio 開發環境會插入程式碼,以覆寫成類別繼承系統物件 (比方說 繼承 System.Windows.Forms.TextBox) 的 Dispose () 方法。這是由選取 [覆寫,然後按一下 [Dispose () 執行從功能表 (在預設情況下的 [程式碼] 視窗的上方)。會插入程式碼看起來類似下列畫面: system.windows.forms.dll 中發生未處理的例外狀況的型別 'System.TypeLoadException'。 其他資訊: 方法實作所參考的宣告不能為最終方法。型別: ClassLibrary1.UserControl1。組件: Dispose。 若要更正這個問題,只是多載 Dispose(Boolean) 方法代替 Dispose (),並確定呼叫針對 Dispose(Boolean) 方法的基底類別進行與 TRUE 會傳遞給它。 注意: 像 虛擬 關鍵字在 C# 和 C + + 中使用 Visual Basic.NET 中或在 Visual Basic 2005 中,可覆寫 關鍵字。 方法會依預設 NotOverridable 都是。 ?考相關的說明主題:
這篇文章中的資訊適用於:
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:315528?
(http://support.microsoft.com/kb/315528/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯 |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


回此頁最上方
