リフレクション (Visual Basic)Reflection (Visual Basic)

リフレクションは、アセンブリ、モジュール、および型を記述する (Type 型の) オブジェクトを提供します。Reflection provides objects (of type Type) that describe assemblies, modules and types. リフレクションを使用すると、動的に型のインスタンスを作成したり、作成したインスタンスを既存のオブジェクトにバインドしたり、さらに既存のオブジェクトから型を取得してそのオブジェクトのメソッドを呼び出したり、フィールドやプロパティにアクセスしたりできます。You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties. コードで属性を使用している場合は、リフレクションを使用してそれらにアクセスできます。If you are using attributes in your code, reflection enables you to access them. 詳細については、「属性」を参照してください。For more information, see Attributes.

次の例は、GetType メソッドを使用して変数の型を取得する簡単なリフレクションを示しています。このメソッドは、Object 基底クラスからすべての型に継承される静的メソッドです。Here's a simple example of reflection using the static method GetType - inherited by all types from the Object base class - to obtain the type of a variable:

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

出力は次のようになります。The output is:

System.Int32

次の例では、リフレクションを使用して、読み込まれたアセンブリの完全名を取得します。The following example uses reflection to obtain the full name of the loaded assembly.

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

出力は次のようになります。The output is:

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

リフレクションの概要Reflection Overview

リフレクションは、次の場合に役立ちます。Reflection is useful in the following situations:

詳細情報For more information:

関連項目See also