Visual Basic における Me、My、MyBase、MyClass
更新 : 2007 年 11 月
Visual Basic の Me、My、MyBase、MyClass という概念はよく似ているので、慣れない人は混乱するおそれがあります。ここでは、これらの概念の違いを明確にするために、それぞれの特徴について説明します。
Me
Me キーワードは、現在実行しているコードから、そのコードを含んでいるクラスまたは構造体の特定のインスタンスを参照するための方法です。Me は、現在のインスタンスを参照するオブジェクト変数または構造体変数と同じように機能します。特に、別のクラス、構造体、またはモジュールのプロシージャに、クラスや構造体の現在のインスタンスに関する情報を渡す場合などには、Me が役立ちます。
My
My は、.NET Framework の数多くのクラスに簡単かつ直観的にアクセスするための手段であり、Visual Basic ユーザーがコンピュータ、アプリケーション、設定、リソースなどとやり取りできるようにします。
MyBase
MyBase キーワードは、クラスの現在のインスタンスの基本クラスを参照するオブジェクト変数と同じように機能します。MyBase は一般に、派生クラス内でオーバーライドまたはシャドウされている基本クラスのメンバにアクセスする目的で使用されます。MyBase.New は、派生クラスのコンストラクタから基本クラスのコンストラクタを明示的に呼び出すときに使用されます。
MyClass
MyClass キーワードは、クラスの現在のインスタンスをもともとの実装どおりの状態で参照するオブジェクト変数のような動作をします。MyClass は Me に似ていますが、これに対するメソッド呼び出しはすべて、そのメソッドが NotOverridable であるかのように扱われます。