更新 : 2007 年 11 月
オブジェクトを参照するオブジェクト変数がある場合、メソッド、プロパティ、フィールド、およびイベントなどのオブジェクトのメンバで作業を行うことができます。たとえば、新しい Form オブジェクトを作成した後、Text プロパティを設定したり、または Focus メソッドを呼び出すことができます。
メンバへのアクセス
オブジェクトのメンバを参照する変数を使用して、オブジェクトのメンバにアクセスします。
オブジェクトのメンバにアクセスするには
オブジェクト変数名とメンバ名との間で、メンバ アクセス演算子 (.) を使用します。
currentText = newForm.Textメンバが Shared (Visual Basic) である場合、アクセスするための変数は必要ありません。詳細については、「方法 : オブジェクトの共有メンバおよび非共有メンバにアクセスする」を参照してください。
既知の型のオブジェクトのメンバへのアクセス
コンパイル時にオブジェクトの型がわかっている場合、それを参照している変数に対して、事前バインディングを使用できます。
コンパイル時に型がわかっているオブジェクトのメンバにアクセスするには
オブジェクト変数を、変数に割り当てようとしているオブジェクトの型として宣言します。
Dim extraForm As System.Windows.Forms.FormOption Strict On を使用すると、Form オブジェクト (または Form から派生した型のオブジェクト) だけを、extraForm に割り当てることができます。Form への CType の拡大変換を使用して、クラスまたは構造体が定義されている場合、そのクラスまたは構造体を extraForm に割り当てることもできます。
オブジェクト変数名とメンバ名との間で、メンバ アクセス演算子 (.) を使用します。
extraForm.Show()Option Strict がどのような設定になっていても、Form クラス固有のすべてのメソッドおよびプロパティにアクセスできます。
不明な型のオブジェクトのメンバへのアクセス
コンパイル時にオブジェクトの型がわからない場合、それを参照しているすべての変数に対して、遅延バインディングを使用する必要があります。
コンパイル時に型がわかっていないオブジェクトのメンバにアクセスするには
オブジェクト変数を オブジェクト型 (Object) として宣言します。(変数を Object として宣言すると、System.Object として宣言することと同等になります。)
Dim someControl As ObjectOption Strict On を使用すると、Object クラスで定義されたメンバだけにアクセスできます。
オブジェクト変数名とメンバ名との間で、メンバ アクセス演算子 (.) を使用します。
someControl.GetType()オブジェクト変数に割り当てたオブジェクトのメンバにアクセスできるようにするには、Option Strict Off を設定する必要があります。これを行うと、変数に割り当てたオブジェクトによって、指定されたメンバが公開されるかどうかをコンパイラは保証できません。アクセスしようとしたメンバをオブジェクトが公開しない場合、MemberAccessException 例外が発生します。