動的オブジェクトの使用 (Visual Basic)

動的オブジェクトを使用すると、Object 型とは別の方法で、実行時にオブジェクトに遅延バインディングできます。 動的オブジェクトは、System.Dynamic 名前空間に定義されている動的インターフェイスを使用して、実行時にプロパティやメソッドなどのメンバーを公開します。 System.Dynamic 名前空間のクラスを使用して、静的な型または形式が一致しないデータ構造体を操作するオブジェクトを作成できます。 また、IronPython や IronRuby などの動的言語で定義されている動的オブジェクトも使用できます。 動的オブジェクトの作成方法の例または動的言語で定義されている動的オブジェクトの使用方法の例については、「チュートリアル: 動的オブジェクトの作成と使用 (C# および Visual Basic)」、「DynamicObject」、または「ExpandoObject」を参照してください。

Visual Basic は、IDynamicMetaObjectProvider インターフェイスを使用することで、IronPython や IronRuby などの動的言語および動的言語ランタイムからのオブジェクトにバインドされます。 IDynamicMetaObjectProvider インターフェイスを実装するクラスには、DynamicObject クラスや ExpandoObject クラスがあります。

IDynamicMetaObjectProvider インターフェイスを実装するオブジェクトに対して遅延バインディングによる呼び出しが行われる場合、Visual Basic はそのインターフェイスを使用して動的オブジェクトにバインドされます。 IDynamicMetaObjectProvider インターフェイスを実装しないオブジェクトに対して遅延バインディングによる呼び出しが行われる場合、または IDynamicMetaObjectProvider に対する呼び出しに失敗した場合、Visual Basic ランタイムの遅延バインディングによる呼び出し機能を使用することで、Visual Basic はその動的オブジェクトにバインドされます。

参照

参照

DynamicObject

ExpandoObject

概念

事前バインディングと遅延バインディング (Visual Basic)

その他の技術情報

チュートリアル: 動的オブジェクトの作成と使用 (C# および Visual Basic)