Visual Basic 中的 Me、My、MyBase 和 MyClass

MeMyMyBaseMyClass Visual Basic 中的名称相似,但用途不同。 本主题介绍每个实体,以便区分它们。

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 提供对许多 .NET Framework 类的简单直观访问,使 Visual Basic 用户能够与计算机、应用程序、设置、资源等交互。 有关这些类的列表,请参阅 Visual Basic 运行时对象 参考。

MyBase

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

MyClass

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

另请参阅