次の方法で共有


方法 : オブジェクトのメンバにアクセスする

更新 : 2007 年 11 月

オブジェクトを参照するオブジェクト変数がある場合、メソッド、プロパティ、フィールド、およびイベントなどのオブジェクトのメンバで作業を行うことができます。たとえば、新しい Form オブジェクトを作成した後、Text プロパティを設定したり、または Focus メソッドを呼び出すことができます。

メンバへのアクセス

オブジェクトのメンバを参照する変数を使用して、オブジェクトのメンバにアクセスします。

オブジェクトのメンバにアクセスするには

既知の型のオブジェクトのメンバへのアクセス

コンパイル時にオブジェクトの型がわかっている場合、それを参照している変数に対して、事前バインディングを使用できます。

コンパイル時に型がわかっているオブジェクトのメンバにアクセスするには

  1. オブジェクト変数を、変数に割り当てようとしているオブジェクトの型として宣言します。

    Dim extraForm As System.Windows.Forms.Form
    

    Option Strict On を使用すると、Form オブジェクト (または Form から派生した型のオブジェクト) だけを、extraForm に割り当てることができます。Form への CType の拡大変換を使用して、クラスまたは構造体が定義されている場合、そのクラスまたは構造体を extraForm に割り当てることもできます。

  2. オブジェクト変数名とメンバ名との間で、メンバ アクセス演算子 (.) を使用します。

    extraForm.Show()
    

    Option Strict がどのような設定になっていても、Form クラス固有のすべてのメソッドおよびプロパティにアクセスできます。

不明な型のオブジェクトのメンバへのアクセス

コンパイル時にオブジェクトの型がわからない場合、それを参照しているすべての変数に対して、遅延バインディングを使用する必要があります。

コンパイル時に型がわかっていないオブジェクトのメンバにアクセスするには

  1. オブジェクト変数を オブジェクト型 (Object) として宣言します。(変数を Object として宣言すると、System.Object として宣言することと同等になります。)

    Dim someControl As Object
    

    Option Strict On を使用すると、Object クラスで定義されたメンバだけにアクセスできます。

  2. オブジェクト変数名とメンバ名との間で、メンバ アクセス演算子 (.) を使用します。

    someControl.GetType()
    

    オブジェクト変数に割り当てたオブジェクトのメンバにアクセスできるようにするには、Option Strict Off を設定する必要があります。これを行うと、変数に割り当てたオブジェクトによって、指定されたメンバが公開されるかどうかをコンパイラは保証できません。アクセスしようとしたメンバをオブジェクトが公開しない場合、MemberAccessException 例外が発生します。

参照

概念

Visual Basic におけるオブジェクト変数

オブジェクト変数の宣言

参照

オブジェクト型 (Object)

Option Strict ステートメント

Object

Form

MemberAccessException