エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Type クラス

2013/12/12

型宣言を表します。型には、クラス型、インターフェイス型、配列型、値型、列挙型、型パラメーター、ジェネリック型定義、およびオープン構築ジェネリック型またはクローズ構築ジェネリック型があります。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public abstract class Type : MemberInfo, 
	IReflect

Type 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック プロパティAssembly型が宣言される Assembly を取得します。ジェネリック型の場合は、ジェネリック型が定義される Assembly を取得します。
パブリック プロパティAssemblyQualifiedNameType の読み込み元であるアセンブリの名前を含む、Type のアセンブリ修飾名を取得します。
パブリック プロパティAttributesType に関連付けられている属性を取得します。
パブリック プロパティBaseType現在の Type の直接の継承元である型を取得します。
パブリック プロパティContainsGenericParameters現在の Type オブジェクトが特定の型で置き換えられていない型パラメーターを持っているどうかを示す値を取得します。
パブリック プロパティCustomAttributesこのメンバーのカスタム属性を格納するコレクションを取得します。 (MemberInfo から継承されます。)
パブリック プロパティDeclaringMethod現在の Type がジェネリック メソッドの型パラメーターを表している場合に、宣言するメソッドを表す MethodBase を取得します。
パブリック プロパティDeclaringType現在の入れ子にされた型またはジェネリック型パラメーターを宣言する型を取得します。 (MemberInfo.DeclaringType をオーバーライドします。)
パブリック プロパティ静的メンバーDefaultBinder既定のバインダーへの参照を取得します。このバインダーは、InvokeMember によって呼び出される適切なメンバーを選択するための内部規則を実装します。
パブリック プロパティFullNameType の名前空間を含み、アセンブリを含まない、Type の完全修飾名を取得します。
パブリック プロパティGenericParameterAttributes現在のジェネリック型パラメーターの共変性および特殊な制約を説明する GenericParameterAttributes フラグの組み合わせを取得します。
パブリック プロパティGenericParameterPositionType オブジェクトがジェネリック型またはジェネリック メソッドの型パラメーターを表す場合に、パラメーターを宣言したジェネリック型またはジェネリック メソッドの型パラメーター リスト内の型パラメーターの位置を取得します。
パブリック プロパティGenericTypeArgumentsこの型のジェネリック型引数の配列を取得します。
パブリック プロパティGUIDType に関連付けられている GUID を取得します。
パブリック プロパティHasElementType現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列、ポインター、または参照渡しかどうかを示す値を取得します。
パブリック プロパティIsAbstractType が抽象型で、オーバーライドする必要があるかどうかを示す値を取得します。
パブリック プロパティIsAnsiClassType に、文字列書式属性として AnsiClass が選択されているかどうかを示す値を取得します。
パブリック プロパティIsArrayType が配列かどうかを示す値を取得します。
パブリック プロパティIsAutoClassType に、文字列書式属性として AutoClass が選択されているかどうかを示す値を取得します。
パブリック プロパティIsAutoLayoutType に、クラスのレイアウト属性として AutoLayout が選択されているかどうかを示す値を取得します。
パブリック プロパティIsByRefType が参照渡しかどうかを示す値を取得します。
パブリック プロパティIsClassType がクラスであり、値型やインターフェイスでないかどうかを示す値を取得します。
パブリック プロパティIsCOMObjectType が COM オブジェクトかどうかを示す値を取得します。
パブリック プロパティIsConstructedGenericTypeこのオブジェクトが、構築ジェネリック型を表すかどうかを示す値を取得します。
パブリック プロパティIsEnum現在の Type が列挙体であるどうかを示す値を取得します。
パブリック プロパティIsExplicitLayoutType に、クラスのレイアウト属性として ExplicitLayout が選択されているかどうかを示す値を取得します。
パブリック プロパティIsGenericParameter現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表しているかどうかを示す値を取得します。
パブリック プロパティIsGenericType現在の型がジェネリック型かどうかを示す値を取得します。
パブリック プロパティIsGenericTypeDefinition現在の Type が、他のジェネリック型を構築できるジェネリック型の定義を表しているかどうかを示す値を取得します。
パブリック プロパティIsImportTypeComImportAttribute 属性を持っているかどうかを示す (つまり、COM タイプ ライブラリからインポートされたかどうかを示す) 値を取得します。
パブリック プロパティIsInterfaceType がインターフェイスであり、クラスや値型でないかどうかを示す値を取得します。
パブリック プロパティIsLayoutSequentialType に、クラスのレイアウト属性として SequentialLayout が選択されているかどうかを示す値を取得します。
パブリック プロパティIsMarshalByRefType が参照渡しでマーシャリングされるかどうかを示す値を取得します。
パブリック プロパティIsNested現在の Type オブジェクトが、別の型の定義内に入れ子になっている定義で定義された型を表しているかどうかを示す値を取得します。
パブリック プロパティIsNestedAssemblyType が入れ子になっていて、それ自体が属するアセンブリ内でだけ参照可能かどうかを示す値を取得します。
パブリック プロパティIsNestedFamANDAssemType が入れ子になっていて、それ自体が属するファミリとアセンブリの両方に属しているクラスだけから参照可能かどうかを示す値を取得します。
パブリック プロパティIsNestedFamilyType が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。
パブリック プロパティIsNestedFamORAssemType が入れ子になっていて、それ自体が属するファミリまたはアセンブリのいずれかに属しているクラスだけから参照可能かどうかを示す値を取得します。
パブリック プロパティIsNestedPrivateType が入れ子になっていて、プライベートとして宣言されているかどうかを示す値を取得します。
パブリック プロパティIsNestedPublicクラスが入れ子になっていて、パブリックとして宣言されているかどうかを示す値を取得します。
パブリック プロパティIsNotPublicType がパブリックとして宣言されていないかどうかを示す値を取得します。
パブリック プロパティIsPointerType がポインターかどうかを示す値を取得します。
パブリック プロパティIsPrimitiveType がプリミティブ型の 1 つかどうかを示す値を取得します。
パブリック プロパティIsPublicType がパブリックとして宣言されているかどうかを示す値を取得します。
パブリック プロパティIsSealedType が sealed として宣言されているかどうかを示す値を取得します。
パブリック プロパティIsSerializableType をシリアル化できるかどうかを示す値を取得します。
パブリック プロパティIsSpecialNameType の名前が特別な処理を必要とするかどうかを示す値を取得します。
パブリック プロパティIsUnicodeClassType に、文字列書式属性として UnicodeClass が選択されているかどうかを示す値を取得します。
パブリック プロパティIsValueTypeType が値型かどうかを示す値を取得します。
パブリック プロパティIsVisibleType にアセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。
パブリック プロパティMemberTypeこのメンバーが型であるか、または入れ子にされた型であるかを示す MemberTypes 値を取得します。 (MemberInfo.MemberType をオーバーライドします。)
パブリック プロパティMetadataTokenメタデータ要素を識別する値を取得します。 (MemberInfo から継承されます。)
パブリック プロパティModule現在の Type が定義されているモジュール (DLL) を取得します。
パブリック プロパティName現在のメンバーの名前を取得します。 (MemberInfo から継承されます。)
パブリック プロパティNamespaceType の名前空間を取得します。
パブリック プロパティReflectedTypeこのメンバーを取得するために使用したクラス オブジェクトを取得します。 (MemberInfo.ReflectedType をオーバーライドします。)
パブリック プロパティTypeHandle現在の Type のハンドルを取得します。
パブリック プロパティUnderlyingSystemTypeこの型を表す共通言語ランタイムによって提供された型を示します。
このページのトップへ

  名前説明
パブリック メソッドEquals(Object)現在の Type の基になるシステム型が、指定した Object の基になるシステム型と同じかどうかを判断します。 (MemberInfo.Equals(Object) をオーバーライドします。)
パブリック メソッドEquals(Type)現在の Type の基になるシステム型が、指定した Type の基になるシステム型と同じかどうかを判断します。
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドFindMembers指定したメンバー型の MemberInfo オブジェクトの配列にフィルターを適用して返します。
パブリック メソッドGetArrayRankArray の次元数を取得します。
プロテクト メソッドGetAttributeFlagsImpl派生クラスによってオーバーライドされた場合、Attributes プロパティを実装し、Type に関連付けられている属性を示すビットマスクを取得します。
パブリック メソッドGetConstructor(Type[])指定した配列の型に一致するパラメーターが設定されているパブリック インスタンス コンストラクターを検索します。
パブリック メソッドGetConstructor(BindingFlags, Binder, Type[], ParameterModifier[])指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。
プロテクト メソッドGetConstructorImpl派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。
パブリック メソッドGetConstructors()現在の Type に対して定義されているパブリック コンストラクターをすべて返します。
パブリック メソッドGetConstructors(BindingFlags)派生クラスによってオーバーライドされた場合、指定した BindingFlags を使用して、現在の Type に対して定義されているコンストラクターを検索します。
パブリック メソッドGetCustomAttributes(Boolean)派生クラスでオーバーライドされた場合、このメンバーに適用されているすべてのカスタム属性の配列を返します。 (MemberInfo から継承されます。)
パブリック メソッドGetCustomAttributes(Type, Boolean)派生クラスでオーバーライドされた場合、このメンバーに適用されていて、Type によって識別されるカスタム属性の配列を返します。 (MemberInfo から継承されます。)
パブリック メソッドGetDefaultMembersDefaultMemberAttribute が設定されている現在の Type に定義されているメンバーを検索します。
パブリック メソッドGetElementType派生クラスによってオーバーライドされた場合、現在の配列、ポインター、または参照型によって包含または参照されるオブジェクトの Type を返します。
パブリック メソッドGetEvent(String)指定したパブリック イベントを表す EventInfo オブジェクトを返します。
パブリック メソッドGetEvent(String, BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、指定したイベントを表す EventInfo オブジェクトを返します。
パブリック メソッドGetEvents()現在の Type で宣言または継承されているすべてのパブリック イベントを返します。
パブリック メソッドGetEvents(BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type で宣言または継承されているイベントを検索します。
パブリック メソッドGetField(String)指定した名前のパブリック フィールドを検索します。
パブリック メソッドGetField(String, BindingFlags)指定したバインディング制約を使用して、指定したフィールドを検索します。
パブリック メソッドGetFields()現在の Type のすべてのパブリック フィールドを返します。
パブリック メソッドGetFields(BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているフィールドを検索します。
パブリック メソッドGetGenericArgumentsジェネリック型の型引数またはジェネリック型定義の型パラメーターを表す Type オブジェクトの配列を返します。
パブリック メソッドGetGenericParameterConstraints現在のジェネリック型パラメーターの制約を表す Type オブジェクトを返します。
パブリック メソッドGetGenericTypeDefinition現在のジェネリック型を構築する元になるジェネリック型定義を表す Type オブジェクトを返します。
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (MemberInfo.GetHashCode() をオーバーライドします。)
パブリック メソッドGetInterface派生クラスでオーバーライドされた場合、インターフェイス名の大文字と小文字を区別するかどうかを指定して、指定したインターフェイスを検索します。
パブリック メソッドGetInterfaceMap指定したインターフェイスの型のインターフェイス マッピングを返します。
パブリック メソッドGetInterfaces派生クラスによってオーバーライドされた場合、現在の Type で実装または継承されているすべてのインターフェイスを取得します。
パブリック メソッドGetMember(String)指定した名前のパブリック メンバーを検索します。
パブリック メソッドGetMember(String, BindingFlags)指定したバインディング制約を使用して、指定したメンバーを検索します。
パブリック メソッドGetMember(String, MemberTypes, BindingFlags)指定したバインディング制約を使用して、指定したメンバー型の指定したメンバーを検索します。
パブリック メソッドGetMembers()現在の Type のすべてのパブリック メンバーを返します。
パブリック メソッドGetMembers(BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメンバーを検索します。
パブリック メソッドGetMethod(String)指定した名前のパブリック メソッドを検索します。
パブリック メソッドGetMethod(String, BindingFlags)指定したバインディング制約を使用して、指定したメソッドを検索します。
パブリック メソッドGetMethod(String, Type[])指定したパブリック メソッドのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetMethod(String, Type[], ParameterModifier[])指定したパブリック メソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[])指定したバインディング制約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])指定したバインディング制約および指定した呼び出し規約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
プロテクト メソッドGetMethodImpl派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetMethods()現在の Type のすべてのパブリック メソッドを返します。
パブリック メソッドGetMethods(BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメソッドを検索します。
パブリック メソッドGetNestedType派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、指定されている入れ子にされた型を検索します。
パブリック メソッドGetNestedTypes派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type 内で入れ子になっている型を検索します。
パブリック メソッドGetProperties()現在の Type のすべてのパブリック プロパティを返します。
パブリック メソッドGetProperties(BindingFlags)派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type のプロパティを検索します。
パブリック メソッドGetProperty(String)指定した名前のパブリック プロパティを検索します。
パブリック メソッドGetProperty(String, BindingFlags)指定したバインディング制約を使用して、指定したプロパティを検索します。
パブリック メソッドGetProperty(String, Type)指定した名前および戻り値の型を持つパブリック プロパティを検索します。
パブリック メソッドGetProperty(String, Type, Type[])指定したパブリック プロパティのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetProperty(String, Type, Type[], ParameterModifier[])指定したパブリック プロパティのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定された指定のプロパティを検索します。
プロテクト メソッドGetPropertyImpl派生クラスによってオーバーライドされるときに、指定したバインディング制約を使用して、指定したプロパティのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。
パブリック メソッドGetType()現在の Type を取得します。
パブリック メソッド静的メンバーGetType(String)大文字と小文字を区別する検索を実行して、指定した名前の Type を取得します。
パブリック メソッド静的メンバーGetType(String, Boolean)大文字と小文字を区別する検索を実行し、型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の Type を取得します。
パブリック メソッド静的メンバーGetType(String, Boolean, Boolean)大文字と小文字を区別する検索を実行し、型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の Type を取得します。
パブリック メソッド静的メンバーGetTypeCode指定した Type の基になる型コードを取得します。
パブリック メソッド静的メンバーGetTypeFromHandle指定した型ハンドルによって参照される型を取得します。
パブリック メソッド静的メンバーGetTypeHandle指定したオブジェクトの Type のハンドルを取得します。
プロテクト メソッドHasElementTypeImpl派生クラスによってオーバーライドされた場合、HasElementType プロパティを実装し、現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列やポインターであるか、参照渡しかどうかを判断します。
パブリック メソッドInvokeMember(String, BindingFlags, Binder, Object, Object[])指定したバインディング制約を使用し、指定した引数リストと照合して、指定したメンバーを呼び出します。
パブリック メソッドInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用し、指定したメンバーのうち、指定した引数リスト、修飾子、およびカルチャと一致するメンバーを呼び出します。
プロテクト メソッドIsArrayImpl派生クラスによってオーバーライドされるときに、IsArray プロパティを実装し、Type が配列かどうかを判断します。
パブリック メソッドIsAssignableFrom指定した Type のインスタンスを現在の Type のインスタンスに代入できるかどうかを判断します。
プロテクト メソッドIsByRefImpl派生クラスによってオーバーライドされるときに、IsByRef プロパティを実装し、Type が参照渡しかどうかを判断します。
プロテクト メソッドIsCOMObjectImpl派生クラスによってオーバーライドされるときに、IsCOMObject プロパティを実装し、Type が COM オブジェクトかどうかを判断します。
パブリック メソッドIsDefined派生クラスでオーバーライドされた場合、このメンバーに、指定された型の属性またはその派生型の属性が 1 つ以上適用されているかどうかを示します。 (MemberInfo から継承されます。)
パブリック メソッドIsInstanceOfType指定したオブジェクトが現在の Type のインスタンスかどうかを判断します。
プロテクト メソッドIsPointerImpl派生クラスによってオーバーライドされるときに、IsPointer プロパティを実装し、Type がポインターかどうかを判断します。
プロテクト メソッドIsPrimitiveImpl派生クラスによってオーバーライドされるときに、IsPrimitive プロパティを実装し、Type がプリミティブ型の 1 つかどうかを判断します。
パブリック メソッドIsSubclassOf現在の Type によって表されるクラスが、指定された Type によって表されるクラスから派生しているかどうかを判断します。
プロテクト メソッドIsValueTypeImplIsValueType プロパティを実装し、Type が値型であり、クラスやインターフェイスでないかどうかを判断します。
パブリック メソッドMakeArrayType()下限を 0 に設定して現在の型の 1 次元配列を表す Type オブジェクトを返します。
パブリック メソッドMakeArrayType(Int32)次元数を指定して現在の型の配列を表す Type オブジェクトを返します。
パブリック メソッドMakeByRefTyperef パラメーター (Visual Basic の場合は ByRef) として渡されるときに現在の型を表す Type オブジェクトを返します。
パブリック メソッドMakeGenericType型の配列の要素を現在のジェネリック型定義の型パラメーターで置き換え、結果の構築型を表す Type オブジェクトを返します。
パブリック メソッドMakePointerType現在の型へのポインターを表す Type オブジェクトを返します。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在の Type の名前を表す String を返します。 (Object.ToString() をオーバーライドします。)
このページのトップへ

  名前説明
パブリック拡張メソッドGetCustomAttribute(Type)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute(Type, Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute<T>()オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute<T>(Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes()オーバーロードされます。 指定したメンバーに適用されるカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes(Type)オーバーロードされます。 指定したメンバーに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes<T>()オーバーロードされます。 指定したメンバーに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes<T>(Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeEvent指定したイベントを表すオブジェクトを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeEvents指定した型に定義されているすべてのイベントを表すコレクションを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeField指定したフィールドを表すオブジェクトを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeFields指定した型に定義されているすべてのフィールドを表すコレクションを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeMethod指定したメソッドを表すオブジェクトを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeMethods指定した型に定義されているすべてのメソッドを表すコレクションを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeProperties指定した型に定義されているすべてのプロパティを表すコレクションを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetRuntimeProperty指定したプロパティを表すオブジェクトを取得します。 (RuntimeReflectionExtensions によって定義されています。)
パブリック拡張メソッドGetTypeInfo指定した型の TypeInfo 表現を返します。 (IntrospectionExtensions によって定義されています。)
パブリック拡張メソッドIsDefined指定した型のカスタム属性が指定したメンバーに適用されているかどうかを示します。 (CustomAttributeExtensions によって定義されています。)
このページのトップへ

  名前説明
パブリック フィールド静的メンバーDelimiterType の名前空間で、複数の名前を区切ります。このフィールドは読み取り専用です。
パブリック フィールド静的メンバーEmptyTypesType 型の空の配列を表します。このフィールドは読み取り専用です。
パブリック フィールド静的メンバーFilterNameIgnoreCase名前に適用され、大文字と小文字を区別しないメンバー フィルターを表します。このフィールドは読み取り専用です。
パブリック フィールド静的メンバーMissingType 情報に不足している値を表します。このフィールドは読み取り専用です。
このページのトップへ

TypeSystem.Reflection 機能のルートであり、メタデータにアクセスするための主要手段です。コンストラクター、メソッド、フィールド、プロパティ、クラスのイベント、クラスを配置するモジュールやアセンブリなどの型宣言に関する情報を取得するには、Type のメンバーを使用します。

C# typeof 演算子 (Visual Basic では GetType 演算子、Visual C++ では typeid 演算子) は、Type オブジェクトを返します。

型を表す Type オブジェクトは一意であり、2 つの Type オブジェクト参照が同じオブジェクトを参照するのは、これら 2 つのオブジェクトが同じ型を表す場合に限られます。これにより、参照の等価を使用して Type オブジェクトの比較ができます。

Type は抽象基本クラスです。システムには、internal (Visual Basic では Friend) の派生クラス RuntimeType が用意されています。Windows Phone では、Type を継承することはできません。

メモメモ:

マルチスレッド シナリオでは、static データへのアクセスを同期化する目的で Type オブジェクトをロックしないでください。制御できない他のコードによってクラスの型がロックされる可能性があります。これによりデッドロックが発生することもあります。代わりに、プライベート static オブジェクトをロックすることにより、静的データへのアクセスを同期化させてください。

このクラスはスレッド セーフであり、複数のスレッドが同時にこの型のインスタンスから読み込むことができます。Type のインスタンスは、次に示すすべての型を表現できます。

  • クラス

  • 値型

  • 配列

  • インターフェイス

  • ポインター

  • 列挙型

  • 構築ジェネリック型およびジェネリック型定義

  • 構築ジェネリック型、ジェネリック型定義、ジェネリック メソッド定義の型引数と型パラメーター

型に関連付けられた Type オブジェクトへの参照は、次の方法で取得できます。

  • Object.GetType メソッドを使用して、インスタンスの型を表す Type オブジェクトを返す。

  • 静的 GetType メソッドを使用して、完全限定名で指定されている型を表す Type オブジェクトを返す。

  • Module.GetTypes メソッドおよび Module.GetType メソッドを使用して、モジュール内で定義されている型を表す Type オブジェクトを返します。最初のメソッドを使用すると、モジュール内で定義されているすべてのパブリック型およびプライベート型について、Type オブジェクトの配列を取得できます。Assembly.GetModules メソッドを使用するか、Type.Module プロパティを使用して Module のインスタンスを取得できます。

  • GetElementType メソッドを使用して、要素を表す Type オブジェクトを返します。

  • GetInterfaces メソッドおよび GetInterface メソッドを使用して、型でサポートされているインターフェイス型を表す Type オブジェクトを返します。

  • 相互運用性のために提供されている GetTypeFromHandle メソッドを使用します。このメソッドは、クラス ハンドルで指定されている型を表す Type オブジェクトを返します。

  • C# typeof 演算子、C++ typeid 演算子、および Visual Basic GetType 演算子は、型の Type オブジェクトを取得します。

  • MakeGenericType メソッドは、構築ジェネリック型を表す Type オブジェクトを返します。この型は、ContainsGenericParameters プロパティが true を返す場合はオープン構築型です。それ以外の場合は、クローズ構築型です。ジェネリック型は、閉じた型の場合のみインスタンス化できます。

  • MakeArrayTypeMakePointerType、および MakeByRefType の各メソッドは、Type オブジェクトを返します。このオブジェクトは、指定された型の配列、指定された型へのポインター、および参照パラメーターの型を表します (C# の場合は ref、Visual Basic の場合は ByRef)。

Type の代表的な機能を次のコード例に示します。C# typeof 演算子 (Visual Basic では GetType 演算子) は、String を表す Type オブジェクトを取得するために使用します。この Type オブジェクトから、開始位置および長さを受け取る Substring オーバーロードを表す MethodInfo を取得する場合は、GetMethod メソッドを使用します。

オーバーロード シグネチャを識別するために、このコード例では、int (Visual Basic では Integer) を表す 2 つの Type オブジェクトを含む、一時的な配列を作成します。

メモメモ:

正確に言うと、この配列には、現在のアプリケーション ドメインの int を表す Type のインスタンスへの 2 つの参照が含まれています。いずれのタイプにも、アプリケーション ドメインごとに Type のインスタンスが 1 つだけ存在します。

このコード例では、MethodInfo を使用して、文字列 "Hello, World!" に対して Substring メソッドを呼び出し、結果を表示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Type t = typeof(String);

      MethodInfo substr = t.GetMethod("Substring",
          new Type[] { typeof(int), typeof(int) });

      Object result =
          substr.Invoke("Hello, World!", new Object[] { 7, 5 });
      outputBlock.Text += String.Format("{0} returned \"{1}\".", substr, result) + "\n";
   }
}

/* This code example produces the following output:

System.String Substring(Int32, Int32) returned "World".
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型は、スレッド セーフです。

表示:
© 2014 Microsoft