次の方法で共有


Visual Basic の Me、My、MyBase、および MyClass

MeMyMyBase、および Visual Basic の MyClass の名前は似ていますが、目的は異なります。 このトピックでは、これらの各エンティティを区別するために説明します。

自分

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 キーワードは、最初に実装されたクラスの現在のインスタンスを参照するオブジェクト変数のように動作します。 MyClassMeに似ていますが、そのメソッドのすべての呼び出しは、メソッドが NotOverridableされたかのように扱われます。

こちらも参照ください