Visual Basic 中的 Me、My、MyBase 和 MyClass
Visual Basic 中的 Me、My、MyBase 和 MyClass 名稱相似,但用途不同。 本主題會說明這當中每個實體之間的差異。
Me
Me 關鍵字提供方法,參考目前程式碼正在其中執行之特定類別執行個體或結構。 Me 的行為不是和物件變數相同,就是和參考目前執行個體的結構變數相同。 在將關於目前執行中的類別或結構執行個體的資訊傳給其他類別、結構或模組的程序時,Me 特別好用。
例如,假設您的模組中擁有下列程序。
Sub ChangeFormColor(FormName As Form)
Randomize()
FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub
使用下列陳述式,您就可以呼叫這個程序,並將 Form 類別目前的執行個體視為引數來傳遞。
ChangeFormColor(Me)
My
My 功能提供簡單而直覺的存取方式,可以讓 Visual Basic 使用者存取各種 .NET Framework 類別,並與電腦、應用程式、設定、資源等互動。
MyBase
MyBase 關鍵字的行為就像參考類別目前執行個體之基底類別的物件變數。 MyBase 通常用於存取衍生類別中所覆寫或遮蔽的基底類別成員。 MyBase.New 可用於從衍生類別建構函式明確地呼叫基底類別建構函式。
MyClass
MyClass 關鍵字的行為就像參考原先實作之類別目前執行個體的物件變數。 MyClass 類似於 Me,但在處理其上所有方法呼叫時,會將方法視為 NotOverridable。