次の方法で共有


リフレクション (Visual Basic)

リフレクションは、アセンブリ、モジュール、および型を記述する ( Type型の) オブジェクトを提供します。 リフレクションを使用すると、型のインスタンスを動的に作成したり、型を既存のオブジェクトにバインドしたり、既存のオブジェクトから型を取得したり、メソッドを呼び出したり、そのフィールドとプロパティにアクセスしたりできます。 コードで属性を使用している場合は、リフレクションを使用してそれらにアクセスできます。 詳細については、「属性の」を参照してください。

変数の型を取得するために、Object基底クラスからすべての型によって継承される静的メソッド GetTypeを使用したリフレクションの簡単な例を次に示します。

' Using GetType to obtain type information:  
Dim i As Integer = 42  
Dim type As System.Type = i.GetType()  
System.Console.WriteLine(type)  

出力は次のようになります。

System.Int32

次の例では、リフレクションを使用して、読み込まれたアセンブリの完全な名前を取得します。

' Using Reflection to get information from an Assembly:  
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly  
System.Console.WriteLine(info)  

出力は次のようになります。

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

リフレクションの概要

リフレクションは、次の状況で役立ちます。

  • プログラムのメタデータ内の属性にアクセスする必要がある場合。 詳細については、「属性に格納されている情報の取得」を参照してください。

  • アセンブリ内の型を調べてインスタンス化する場合。

  • 実行時に新しい型を構築する場合。 System.Reflection.Emitでクラスを使用します。

  • 遅延バインディングを実行する場合は、実行時に作成された型のメソッドにアクセスします。 型の動的な読み込みと使用に関するトピックを参照してください。

詳細については、以下を参照してください。

こちらも参照ください