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 功能提供了容易而直观的方法来访问大量 .NET Framework 类,从而使 Visual Basic 用户能够与计算机、应用程序、设置、资源等进行交互。

MyBase

MyBase 关键字的行为方式类似于引用当前类实例的基类的对象变量。MyBase 通常用于访问派生类中被重写或被隐藏的基类成员。MyBase.New 用于从派生类构造函数中显式调用基类构造函数。

MyClass

MyClass 关键字的行为方式类似于最初实现时引用类的当前实例的对象变量。MyClass 类似于 Me,但调用前者的所有方法都被视为是 NotOverridable。

请参见

概念

继承的基础知识 (Visual Basic)