オブジェクトの型オブジェクトを取得する [C#]

オブジェクトの型オブジェクト(System.Typeのインスタンス)を取得

オブジェクトの型オブジェクト(System.Typeのインスタンス)を取得する方法を紹介します。

本記事に記載のコードでは、以下のusingディレクティブの記述が必要になります。

本文中では、usingの記述を省略しています。

型オブジェクト(Type型のインスタンス)を取得する

リフレクション(Reflection)を使用するには、まず型のオブジェクトを取得します。
型オブジェクト(System.Type型のインスタンス)を取得(生成)する方法はいくつかあります。

型名(定義)から型を取得(生成)する

型名(定義)から型を取得する場合は、typeof演算子を使用します。
typeof演算子はパラメーター(引数)に型名(定義名)を取ります。
typeof演算子は型名に一致するSystem.Typeのインスタンスを返します。

型を表す文字列から型を取得(生成)する

型を表す文字列から型を取得(生成)する場合は、TypeクラスのGetTypeメソッドを使用します。
TypeクラスのGetTypeメソッドのパラメーター(引数)には、型の「アセンブリの修飾名(AssemblyQualifiedName)」を指定します。
TypeクラスのGetTypeメソッドは、指定された文字列に一致するSystem.Typeのインスタンスを返します。

オブジェクトのインスタンスから型を取得(生成)する

オブジェクトのインスタンスから型を取得する場合は、GetTypeメソッドを使用します。
GetTypeメソッドはパラメーター(引数)なしで呼び出します。
GetTypeメソッドはオブジェクトのインスタンスの型(System.Type)を返します。

型オブジェクトは型の変換処理や、リフレクション(Reflection)を利用したメタデータの操作などに使用できます。