Type クラス

定義

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

public ref class Type abstract
public ref class Type abstract : System::Reflection::MemberInfo, System::Reflection::IReflect
public ref class Type abstract : System::Reflection::MemberInfo, System::Reflection::IReflect, System::Runtime::InteropServices::_Type
public abstract class Type
public abstract class Type : System.Reflection.MemberInfo, System.Reflection.IReflect
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class Type : System.Reflection.MemberInfo, System.Reflection.IReflect, System.Runtime.InteropServices._Type
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Type : System.Reflection.MemberInfo, System.Reflection.IReflect, System.Runtime.InteropServices._Type
type Type = class
type Type = class
    inherit MemberInfo
    interface IReflect
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type Type = class
    inherit MemberInfo
    interface _Type
    interface IReflect
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Type = class
    inherit MemberInfo
    interface _Type
    interface IReflect
Public MustInherit Class Type
Public MustInherit Class Type
Inherits MemberInfo
Implements IReflect
Public MustInherit Class Type
Inherits MemberInfo
Implements _Type, IReflect
継承
Type
継承
派生
属性
実装

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

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

注意

正確には、配列には、現在のアプリケーション ドメインでを表す のインスタンスへの 2 つの Type int 参照が含まれている。 どの種類でも、アプリケーション ドメインごとに のインスタンス Type は 1 つのみです。

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

#using <System.dll>

using namespace System;
using namespace System::Reflection;

void main()
{
    // Get a Type object representing the System.String type.
    Type^ t = String::typeid;

    MethodInfo^ substr = t->GetMethod("Substring", 
        gcnew array<Type^> { int::typeid, int::typeid });

    Object^ result = 
        substr->Invoke("Hello, World!", gcnew array<Object^> { 7, 5 });
    Console::WriteLine("{0} returned \"{1}\".", substr, result);
}

/* This code example produces the following output:

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

class Example
{
    static void Main()
    {
        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 });
        Console.WriteLine("{0} returned \"{1}\".", substr, result);
    }
}

/* This code example produces the following output:

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

Module Example
    
    Sub Main() 

        Dim t As Type = GetType(String)
        
        Dim substr As MethodInfo = t.GetMethod("Substring", _
            New Type() { GetType(Integer), GetType(Integer) })
        
        Dim result As Object = _ 
            substr.Invoke("Hello, World!", New Object() { 7, 5 })
        Console.WriteLine("{0} returned ""{1}"".", substr, result)
    
    End Sub 
End Module

' This code example produces the following output:
'
'System.String Substring(Int32, Int32) returned "World".

注釈

Type は機能のルート System.Reflection であり、メタデータにアクセスする主な方法です。 のメンバーを使用して、型宣言、型のメンバー (クラスのコンストラクター、メソッド、フィールド、プロパティ、イベントなど) に関する情報、およびクラスが配置されるモジュールとアセンブリに関する情報を取得します。 Type

コードがリフレクションを使用して、アクセス レベルに関係なく、型とそのメンバーに関する情報を取得するためのアクセス許可は必要ありません。 リフレクションを使用してパブリック メンバーにアクセスするコードや、通常のコンパイル中にアクセス レベルで表示される他のメンバーには、アクセス許可は必要ありません。 ただし、リフレクションを使用して、通常はアクセスできないメンバー (プライベート メソッドや内部メソッドなど) や、クラスが継承しない型の保護されたフィールドにアクセスするには、コードに が必要です ReflectionPermission 。 「リフレクション のセキュリティに関する考慮事項」を参照してください

Type は、複数の実装を可能にする抽象基本クラスです。 システムは常に派生クラス を提供します RuntimeType 。 リフレクションでは、Runtime という単語で始まるすべてのクラスは、システム内のオブジェクトごとに 1 回だけ作成され、比較操作がサポートされます。

注意

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

注意

派生クラスは、呼び出し元のコードの基本クラスの保護されたメンバーにアクセスできます。 また、呼び出し元のコードのアセンブリのアセンブリ メンバーへのアクセスも許可されます。 規則として、早期バインド コードでアクセスが許可されている場合は、遅れてバインドされたコードでもアクセスが許可されます。

注意

他のインターフェイスを拡張するインターフェイスは、拡張インターフェイスで定義されているメソッドを継承しない。

このセクションの内容は次のとおりです。

Type オブジェクトが表す型は何ですか?
Type オブジェクトの取得
型オブジェクトの等しい比較

Type オブジェクトが表す型は何ですか?

このクラスはスレッド セーフです。複数のスレッドは、この型のインスタンスから同時に読み取りを行います。 クラスのインスタンスは Type 、次の型を表します。

  • クラス

  • 値型

  • 配列

  • インターフェイス

  • 列挙

  • 代理人

  • 構築されたジェネリック型とジェネリック型の定義

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

Type オブジェクトの取得

特定 Type の型に関連付けられている オブジェクトは、次の方法で取得できます。

  • インスタンス メソッド Object.GetType は、インスタンス Type の型を表す オブジェクトを返します。 すべてのマネージド型は から派生します。このメソッドは、任意の型の Object GetType インスタンスで呼び出されます。

    次の例では、 Object.GetType メソッドを呼び出して、オブジェクト配列内の各オブジェクトのランタイム型を決定します。

    using namespace System;
    
    void main()
    {
       array<Object^>^ values = { "word", true, 120, 136.34 };
       for each (Object^ value in values)
          Console::WriteLine("{0} - type {1}", value, 
                            value->GetType()->Name);
    }
    // The example displays the following output:
    //       word - type String
    //       True - type Boolean
    //       120 - type Int32
    //       136.34 - type Double
    
    object[] values = { "word", true, 120, 136.34, 'a' };
    foreach (var value in values)
       Console.WriteLine("{0} - type {1}", value, 
                         value.GetType().Name);
    
    // The example displays the following output:
    //       word - type String
    //       True - type Boolean
    //       120 - type Int32
    //       136.34 - type Double
    //       a - type Char
    
    Module Example
       Public Sub Main()
          Dim values() As Object = { "word", True, 120, 136.34, "a"c }
          For Each value In values
             Console.WriteLine("{0} - type {1}", value, 
                               value.GetType().Name)
          Next
       End Sub
    End Module
    ' The example displays the following output:
    '       word - type String
    '       True - type Boolean
    '       120 - type Int32
    '       136.34 - type Double
    '       a - type Char
    
  • 静的メソッド Type.GetType は、完全修飾 Type 名で指定された型を表す オブジェクトを返します。

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

  • オブジェクトには、、 など、アセンブリで定義されているクラスを取得するメソッド System.Reflection.Assembly Assembly.GetTypeAssembly.GetTypes 多数含まれています Assembly.GetExportedTypes

  • メソッド FindInterfaces は、型でサポートされているインターフェイス型のフィルター選択されたリストを返します。

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

  • メソッド GetInterfacesGetInterface メソッドは、型 Type でサポートされるインターフェイス型を表す オブジェクトを返します。

  • メソッド GetTypeArray は、任意のオブジェクト セット Type で指定された型を表す オブジェクトの配列を返します。 オブジェクトは、 型の配列で指定されます Object

  • メソッド GetTypeFromProgIDGetTypeFromCLSID メソッドは、COM 相互運用性のために提供されています。 または によって指定 Type された型を表す オブジェクトを返 ProgID します CLSID

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

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

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

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

型オブジェクトの等しい比較

型を表す オブジェクトは一意です。つまり、2 つのオブジェクト参照は、同じ型を表す場合にのみ、同じオブジェクト Type Type を参照します。 これにより、参照の等値 Type を使用してオブジェクトを比較できます。 次の例では、整数値の数を表す オブジェクトを比較して、同じ型 Type であるかどうかを判断します。

using namespace System;

void main()
{
   Int64 number1 = 1635429;
   Int32 number2 = 16203;
   double number3 = 1639.41;
   Int64 number4 = 193685412;
   
   // Get the type of number1.
   Type^ t = number1.GetType();
   
   // Compare types of all objects with number1.
   Console::WriteLine("Type of number1 and number2 are equal: {0}",
                      Object::ReferenceEquals(t, number2.GetType()));
   Console::WriteLine("Type of number1 and number3 are equal: {0}",
                      Object::ReferenceEquals(t, number3.GetType()));
   Console::WriteLine("Type of number1 and number4 are equal: {0}",
                      Object::ReferenceEquals(t, number4.GetType()));
}
// The example displays the following output:
//       Type of number1 and number2 are equal: False
//       Type of number1 and number3 are equal: False
//       Type of number1 and number4 are equal: True
long number1 = 1635429;
int number2 = 16203;
double number3 = 1639.41;
long number4 = 193685412;

// Get the type of number1.
Type t = number1.GetType();

// Compare types of all objects with number1.
Console.WriteLine("Type of number1 and number2 are equal: {0}",
                  Object.ReferenceEquals(t, number2.GetType()));
Console.WriteLine("Type of number1 and number3 are equal: {0}",
                  Object.ReferenceEquals(t, number3.GetType()));
Console.WriteLine("Type of number1 and number4 are equal: {0}",
                  Object.ReferenceEquals(t, number4.GetType()));

// The example displays the following output:
//       Type of number1 and number2 are equal: False
//       Type of number1 and number3 are equal: False
//       Type of number1 and number4 are equal: True
Module Example
   Public Sub Main()
      Dim number1 As Long = 1635429
      Dim number2 As Integer = 16203
      Dim number3 As Double = 1639.41
      Dim number4 As Long = 193685412
      
      ' Get the type of number1.
      Dim t As Type = number1.GetType()
      
      ' Compare types of all objects with number1.
      Console.WriteLine("Type of number1 and number2 are equal: {0}",
                        Object.ReferenceEquals(t, number2.GetType()))
      Console.WriteLine("Type of number1 and number3 are equal: {0}",
                        Object.ReferenceEquals(t, number3.GetType()))
      Console.WriteLine("Type of number1 and number4 are equal: {0}",
                        Object.ReferenceEquals(t, number4.GetType()))
   End Sub
End Module
' The example displays the following output:
'       Type of number1 and number2 are equal: False
'       Type of number1 and number3 are equal: False
'       Type of number1 and number4 are equal: True

注意 (実装者)

から継承する場合 Type は、次のメンバーをオーバーライドする必要があります。

コンストラクター

Type()

Type クラスの新しいインスタンスを初期化します。

フィールド

Delimiter

Type の名前空間で、複数の名前を区切ります。 このフィールドは読み取り専用です。

EmptyTypes

Type 型の空の配列を表します。 このフィールドは読み取り専用です。

FilterAttribute

属性に適用するメンバー フィルターを表します。 このフィールドは読み取り専用です。

FilterName

名前に適用され、大文字と小文字を区別するメンバー フィルターを表します。 このフィールドは読み取り専用です。

FilterNameIgnoreCase

名前に適用され、大文字と小文字を区別しないメンバー フィルターを表します。 このフィールドは読み取り専用です。

Missing

Type 情報に不足している値を表します。 このフィールドは読み取り専用です。

プロパティ

Assembly

型が宣言される Assembly を取得します。 ジェネリック型の場合は、ジェネリック型が定義される Assembly を取得します。

AssemblyQualifiedName

Type オブジェクトの読み込み元であるアセンブリの名前を含む型のアセンブリ修飾名を取得します。

Attributes

Type に関連付けられている属性を取得します。

BaseType

現在の Type の直接の継承元である型を取得します。

ContainsGenericParameters

現在の Type オブジェクトが特定の型で置き換えられていない型パラメーターを持っているかどうかを示す値を取得します。

CustomAttributes

このメンバーのカスタム属性を含むコレクションを取得します。

(継承元 MemberInfo)
DeclaringMethod

現在の MethodBase がジェネリック メソッドの型パラメーターを表している場合に、宣言するメソッドを表す Type を取得します。

DeclaringType

現在の入れ子にされた型またはジェネリック型パラメーターを宣言する型を取得します。

DefaultBinder

既定のバインダーへの参照を取得します。このバインダーは、InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) によって呼び出される適切なメンバーを選択するための内部規則を実装します。

FullName

型の完全修飾名を取得します。その名前空間を含みますが、アセンブリは含みません。

GenericParameterAttributes

現在のジェネリック型パラメーターの共変性および特殊な制約を説明する GenericParameterAttributes フラグの組み合わせを取得します。

GenericParameterPosition

Type オブジェクトがジェネリック型またはジェネリック メソッドの型パラメーターを表す場合に、パラメーターを宣言したジェネリック型またはジェネリック メソッドの型パラメーター リスト内の型パラメーターの位置を取得します。

GenericTypeArguments

この型のジェネリック型引数の配列を取得します。

GUID

Typeに関連付けられている GUID を取得します。

HasElementType

現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列、ポインター、または参照渡しかどうかを示す値を取得します。

IsAbstract

Type が抽象型で、オーバーライドする必要があるかどうかを示す値を取得します。

IsAnsiClass

AnsiClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。

IsArray

型が配列かどうかを示す値を返します。

IsAutoClass

AutoClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。

IsAutoLayout

現在の型のフィールドが、共通言語ランタイムによって自動的に配置されているかどうかを示す値を取得します。

IsByRef

Type が参照渡しかどうかを示す値を取得します。

IsByRefLike

型が byref に似た構造体であるかどうかを示す値を取得します。

IsClass

Type がクラスまたはデリゲートである (つまり値型やインターフェイスではない) かどうかを示す値を取得します。

IsCollectible

この MemberInfo オブジェクトが、収集可能な AssemblyLoadContext に保持されているアセンブリの一部であるかどうかを示す値を取得します。

(継承元 MemberInfo)
IsCOMObject

Type が COM オブジェクトかどうかを示す値を取得します。

IsConstructedGenericType

このオブジェクトが構築ジェネリック型かどうかを示す値を取得します。 構築ジェネリック型のインスタンスを作成できます。

IsContextful

Type をコンテキスト内で管理できるかどうかを示す値を取得します。

IsEnum

現在の Type が列挙体であるどうかを示す値を取得します。

IsExplicitLayout

現在の型のフィールドが、明示的に指定したオフセット位置に配置されているかどうかを示す値を取得します。

IsGenericMethodParameter

現在の Type が、ジェネリック メソッドの定義の型パラメーターを表すかどうかを示す値を取得します。

IsGenericParameter

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表しているかどうかを示す値を取得します。

IsGenericType

現在の型がジェネリック型かどうかを示す値を取得します。

IsGenericTypeDefinition

現在の Type が、他のジェネリック型を構築できるジェネリック型の定義を表しているかどうかを示す値を取得します。

IsGenericTypeParameter

現在の Type が、ジェネリック型の定義の型パラメーターを表すかどうかを示す値を取得します。

IsImport

TypeComImportAttribute 属性が適用されているかどうかを示す (つまり、COM タイプ ライブラリからインポートされたかどうかを示す) 値を取得します。

IsInterface

Type がインターフェイスである (つまり値型やクラスではない) ことを示す値を取得します。

IsLayoutSequential

現在の型のフィールドが、定義済みまたはメタデータに対して出力された順序で、連続して配置されているかどうかを示す値を取得します。

IsMarshalByRef

Type が参照渡しでマーシャリングされるかどうかを示す値を取得します。

IsNested

現在の Type オブジェクトが、別の型の定義内に入れ子になっている定義で定義された型を表しているかどうかを示す値を取得します。

IsNestedAssembly

Type が入れ子になっていて、それ自体が属するアセンブリ内でだけ参照可能かどうかを示す値を取得します。

IsNestedFamANDAssem

Type が入れ子になっていて、それ自体が属するファミリとアセンブリの両方に属しているクラスだけから参照可能かどうかを示す値を取得します。

IsNestedFamily

Type が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。

IsNestedFamORAssem

Type が入れ子になっていて、それ自体が属するファミリまたはアセンブリのいずれかに属しているクラスだけから参照可能かどうかを示す値を取得します。

IsNestedPrivate

Type が入れ子になっていて、プライベートとして宣言されているかどうかを示す値を取得します。

IsNestedPublic

クラスが入れ子になっていて、パブリックとして宣言されているかどうかを示す値を取得します。

IsNotPublic

Type がパブリックとして宣言されていないかどうかを示す値を取得します。

IsPointer

Type がポインターかどうかを示す値を取得します。

IsPrimitive

Type がプリミティブ型の 1 つかどうかを示す値を取得します。

IsPublic

Type がパブリックとして宣言されているかどうかを示す値を取得します。

IsSealed

Type が sealed として宣言されているかどうかを示す値を取得します。

IsSecurityCritical

現在の型が現在の信頼レベルでセキュリティ クリティカルまたはセキュリティ セーフ クリティカルであり、重要な操作を実行できるかどうかを示す値を取得します。

IsSecuritySafeCritical

現在の型が現在の信頼レベルでセキュリティ セーフ クリティカルであり、重要な操作を実行でき、透過的なコードからアクセスできるかどうかを示す値を取得します。

IsSecurityTransparent

現在の型が現在の信頼レベルで透過的であり、重要な操作を実行できないかどうかを示す値を取得します。

IsSerializable

Type をシリアル化できるかどうかを示す値を取得します。

IsSignatureType

型が署名型かどうかを示す値を取得します。

IsSpecialName

型が特別な処理を必要とする名前を持っているかどうかを示す値を取得します。

IsSZArray

型が、下限が 0 の 1 次元配列のみを表すことができる配列型であるかどうかを示す値を取得します。

IsTypeDefinition

型が型定義かどうかを示す値を取得します。

IsUnicodeClass

UnicodeClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。

IsValueType

Type が値型かどうかを示す値を取得します。

IsVariableBoundArray

型が多次元配列を表すことができるか、任意の下限を持つ 1 つの配列を表すことができる配列型であるかどうかを示す値を取得します。

IsVisible

Type にアセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。

MemberType

このメンバーが型であるか、または入れ子にされた型であるかを示す MemberTypes 値を取得します。

MetadataToken

メタデータ要素を識別する値を取得します。

(継承元 MemberInfo)
Module

現在の Type が定義されているモジュール (DLL) を取得します。

Name

派生クラスでオーバーライドされると、現在の型の名前を取得します。

Name

現在のメンバーの名前を取得します。

(継承元 MemberInfo)
Namespace

Type の名前空間を取得します。

ReflectedType

このメンバーを取得するために使用したクラス オブジェクトを取得します。

StructLayoutAttribute

現在の型のレイアウトを説明する StructLayoutAttribute を取得します。

TypeHandle

現在の Type のハンドルを取得します。

TypeInitializer

型の初期化子を取得します。

UnderlyingSystemType

この型を表す共通言語ランタイムによって提供された型を示します。

メソッド

Equals(Object)

現在の Type オブジェクトの基になるシステム型が、指定した Object の基になるシステム型と同じかどうかを判断します。

Equals(Type)

現在の Type の基になるシステム型が、指定した Type の基になるシステム型と同じかどうかを判断します。

FindInterfaces(TypeFilter, Object)

現在の Type によって実装または継承されているインターフェイスのフィルター適用済みリストを表す、Type オブジェクトの配列を返します。

FindMembers(MemberTypes, BindingFlags, MemberFilter, Object)

指定したメンバー型の MemberInfo オブジェクトの配列にフィルターを適用して返します。

GetArrayRank()

配列の次元数を取得します。

GetAttributeFlagsImpl()

派生クラスでオーバーライドされた場合、Attributes プロパティを実装し、Type に関連付けられている属性を示す列挙値のビットごとの組み合わせを取得します。

GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

指定したバインディング制約および指定した呼び出し規則を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。

GetConstructor(BindingFlags, Binder, Type[], ParameterModifier[])

指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。

GetConstructor(BindingFlags, Type[])

指定したバインディング制約を使用して、指定した引数型と一致するパラメーターを持つコンストラクターを検索します。

GetConstructor(Type[])

指定した配列の型に一致するパラメーターが設定されているパブリック インスタンス コンストラクターを検索します。

GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。

GetConstructors()

現在の Type に対して定義されているパブリック コンストラクターをすべて返します。

GetConstructors(BindingFlags)

派生クラス内でオーバーライドされた場合、指定した BindingFlags を使用して、現在の Type に対して定義されているコンストラクターを検索します。

GetCustomAttributes(Boolean)

派生クラスでオーバーライドされた場合、このメンバーに適用されているすべてのカスタム属性の配列を返します。

(継承元 MemberInfo)
GetCustomAttributes(Type, Boolean)

派生クラスでオーバーライドされた場合は、このメンバーに適用され、Type によって識別されるカスタム属性の配列を返します。

(継承元 MemberInfo)
GetCustomAttributesData()

ターゲット メンバーに適用されている属性に関するデータを表す CustomAttributeData オブジェクトのリストを返します。

(継承元 MemberInfo)
GetDefaultMembers()

Type が設定されている現在の DefaultMemberAttribute に定義されているメンバーを検索します。

GetElementType()

派生クラスによってオーバーライドされた場合、現在の配列、ポインター、または参照型によって包含または参照されるオブジェクトの Type を返します。

GetEnumName(Object)

現在の列挙型の指定された値を持つ定数の名前を返します。

GetEnumNames()

現在の列挙型のメンバーの名前を返します。

GetEnumUnderlyingType()

現在の列挙型の基になる型を返します。

GetEnumValues()

現在の列挙型の定数の値の配列を返します。

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()

このインスタンスのハッシュ コードを返します。

GetInterface(String)

指定した名前のインターフェイスを検索します。

GetInterface(String, Boolean)

派生クラスでオーバーライドされた場合、インターフェイス名の大文字と小文字を区別するかどうかを指定して、指定したインターフェイスを検索します。

GetInterfaceMap(Type)

指定したインターフェイス型に対するインターフェイスの割り当てを返します。

GetInterfaces()

派生クラスによってオーバーライドされた場合、現在の Type で実装または継承されているすべてのインターフェイスを取得します。

GetMember(String)

指定した名前のパブリック メンバーを検索します。

GetMember(String, BindingFlags)

指定したバインディング制約を使用して、指定したメンバーを検索します。

GetMember(String, MemberTypes, BindingFlags)

指定されたバインディング制約を使用して、指定されたメンバー型の指定されたメンバーを検索します。

GetMembers()

現在の Type のすべてのパブリック メンバーを返します。

GetMembers(BindingFlags)

派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメンバーを検索します。

GetMemberWithSameMetadataDefinitionAs(MemberInfo)

現在ので、指定したに一致するを検索し MemberInfo Type MemberInfo ます。

GetMethod(String)

指定した名前のパブリック メソッドを検索します。

GetMethod(String, BindingFlags)

指定したバインディング制約を使用して、指定したメソッドを検索します。

GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

指定したバインディング制約および指定した呼び出し規約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[])

指定したバインディング制約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethod(String, BindingFlags, Type[])

指定したバインディング制約を使用して、指定した引数の型に一致するパラメーターを持つ指定したメソッドを検索します。

GetMethod(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

指定したバインディング制約および指定した呼び出し規約を使用して、指定したメソッドのうち、指定したジェネリック パラメーターの数、引数の型、および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethod(String, Int32, BindingFlags, Binder, Type[], ParameterModifier[])

指定したバインディング制約を使用して、指定したメソッドのうち、指定したジェネリック パラメーターの数、引数の型、および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethod(String, Int32, Type[])

指定したジェネリック パラメーターの数と引数の型に一致するパラメーターを持つ、指定したパブリック メソッドを検索します。

GetMethod(String, Int32, Type[], ParameterModifier[])

指定したジェネリック パラメーターの数、引数の型、および修飾子に一致するパラメーターを持つ、指定したパブリック メソッドを検索します。

GetMethod(String, Type[])

指定したパブリック メソッドのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。

GetMethod(String, Type[], ParameterModifier[])

指定したパブリック メソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規則を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。

GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規則を使用して、指定したメソッドのうち、指定したジェネリック パラメーターの数、引数の型、修飾子と一致するパラメーターが設定されているものを検索します。

GetMethods()

現在の Type のすべてのパブリック メソッドを返します。

GetMethods(BindingFlags)

派生クラス内でオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメソッドを検索します。

GetNestedType(String)

指定した名前を持ち、入れ子にされたパブリックな型を検索します。

GetNestedType(String, BindingFlags)

派生クラス内でオーバーライドされた場合、指定したバインディング制約を使用して、指定されている入れ子にされた型を検索します。

GetNestedTypes()

現在の Type 内で入れ子になっているすべてのパブリック型を返します。

GetNestedTypes(BindingFlags)

派生クラス内でオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type 内で入れ子になっている型を検索します。

GetProperties()

現在の Type のすべてのパブリック プロパティを返します。

GetProperties(BindingFlags)

派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type のプロパティを検索します。

GetProperty(String)

指定した名前のパブリック プロパティを検索します。

GetProperty(String, BindingFlags)

指定されたバインディング制約を使用して、指定されたプロパティを検索します。

GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定された指定のプロパティを検索します。

GetProperty(String, Type)

指定した名前および戻り値の型を持つパブリック プロパティを検索します。

GetProperty(String, Type, Type[])

指定したパブリック プロパティのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。

GetProperty(String, Type, Type[], ParameterModifier[])

指定したパブリック プロパティのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。

GetProperty(String, Type[])

指定したパブリック プロパティのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。

GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

派生クラスによってオーバーライドされるときに、指定のバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されたプロパティを検索します。

GetType()

現在の Type を取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetType(String)

大文字と小文字を区別する検索を実行して、指定した名前の Type を取得します。

GetType(String, Boolean)

大文字と小文字を区別する検索を実行し、型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の Type を取得します。

GetType(String, Boolean, Boolean)

指定した名前を持つ Type を取得します。型が見つからない場合に例外をスローするかどうかと、大文字と小文字を区別する検索を実行するかどうかも指定します。

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>)

指定した名前の型を取得します。オプションとして、アセンブリおよび型を解決するカスタム メソッドを指定できます。

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean)

型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の型を取得します。オプションとして、アセンブリおよび型を解決するカスタム メソッドを指定できます。

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean)

大文字と小文字を区別せずに検索を実行するかどうか、および型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の型を取得します。オプションとして、アセンブリおよび型を解決するカスタム メソッドを指定できます。

GetTypeArray(Object[])

指定した配列内のオブジェクトの型を取得します。

GetTypeCode(Type)

指定した Type の基になる型コードを取得します。

GetTypeCodeImpl()

この Type インスタンスの基になる型コードを返します。

GetTypeFromCLSID(Guid)

指定したクラス識別子 (CLSID) に関連付けられている型を取得します。

GetTypeFromCLSID(Guid, Boolean)

型の読み込み中にエラーが発生した場合に例外をスローするかどうかを指定して、指定したクラス ID (CLSID) に関連付けられた型を取得します。

GetTypeFromCLSID(Guid, String)

指定したサーバーから、指定したクラス ID (CLSID) に関連付けられている型を取得します。

GetTypeFromCLSID(Guid, String, Boolean)

型の読み込み中にエラーが発生した場合に例外をスローするかどうかを指定して、指定したサーバーの指定したクラス ID (CLSID) に関連付けられた型を取得します。

GetTypeFromHandle(RuntimeTypeHandle)

指定した型ハンドルによって参照される型を取得します。

GetTypeFromProgID(String)

指定したプログラム ID (ProgID) に関連付けられている型を取得し、Type の読み込み中にエラーが発生した場合は null を返します。

GetTypeFromProgID(String, Boolean)

型の読み込み中にエラーが発生した場合に例外をスローするかどうかを指定して、指定したプログラム ID (ProgID) に関連付けられた型を取得します。

GetTypeFromProgID(String, String)

指定したサーバーから、指定したプログラム ID (progID) に関連付けられている型を取得し、型の読み込み中にエラーが発生した場合は null を返します。

GetTypeFromProgID(String, String, Boolean)

型の読み込み中にエラーが発生した場合に例外をスローするかどうかを指定して、指定したサーバーの指定したプログラム ID (ProgID) に関連付けられた型を取得します。

GetTypeHandle(Object)

指定したオブジェクトの Type のハンドルを取得します。

HasElementTypeImpl()

派生クラスによってオーバーライドされた場合、HasElementType プロパティを実装し、現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列やポインターであるか、参照渡しかどうかを判断します。

HasSameMetadataDefinitionAs(MemberInfo) (継承元 MemberInfo)
InvokeMember(String, BindingFlags, Binder, Object, Object[])

指定したバインディング制約を使用し、指定した引数リストと照合して、指定したメンバーを呼び出します。

InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo)

指定したバインディング制約を使用し、指定したメンバーのうち、指定した引数リストおよびカルチャと一致するメンバーを呼び出します。

InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])

派生クラス内でオーバーライドされた場合、指定したバインディング制約を使用し、指定した引数リスト、修飾子、カルチャと照合して、指定されたメンバーを呼び出します。

IsArrayImpl()

派生クラスによってオーバーライドされるときに、IsArray プロパティを実装し、Type が配列かどうかを判断します。

IsAssignableFrom(Type)

指定した型 c のインスタンスを現在の型の変数に代入できるかどうかを判断します。

IsAssignableTo(Type)

現在の型を、指定した targetType の変数に代入できるかどうかを判断します。

IsByRefImpl()

派生クラスによってオーバーライドされるときに、IsByRef プロパティを実装し、Type が参照渡しかどうかを判断します。

IsCOMObjectImpl()

派生クラスによってオーバーライドされるときに、IsCOMObject プロパティを実装し、Type が COM オブジェクトかどうかを判断します。

IsContextfulImpl()

IsContextful プロパティを実装し、Type をコンテキスト内で管理できるかどうかを判断します。

IsDefined(Type, Boolean)

派生クラスでオーバーライドされた場合、このメンバーに、指定された型の属性またはその派生型の属性が 1 つ以上適用されているかどうかを示します。

(継承元 MemberInfo)
IsEnumDefined(Object)

指定された値が現在の列挙型に存在するかどうかを示す値を返します。

IsEquivalentTo(Type)

2 つの COM 型が同じ ID を持ち、型の同値の対象になるかどうかを判断します。

IsInstanceOfType(Object)

指定したオブジェクトが現在の Type のインスタンスかどうかを判断します。

IsMarshalByRefImpl()

IsMarshalByRef プロパティを実装し、Type が参照渡しでマーシャリングされるかどうかを判断します。

IsPointerImpl()

派生クラスによってオーバーライドされるときに、IsPointer プロパティを実装し、Type がポインターかどうかを判断します。

IsPrimitiveImpl()

派生クラスによってオーバーライドされるときに、IsPrimitive プロパティを実装し、Type がプリミティブ型の 1 つかどうかを判断します。

IsSubclassOf(Type)

現在の Type が、指定した Type から派生しているかどうかを判断します。

IsValueTypeImpl()

IsValueType プロパティを実装するとともに、Type が値型である (つまり、クラスやインターフェイスでない) かどうかを判断します。

MakeArrayType()

下限を 0 に設定して現在の型の 1 次元配列を表す Type オブジェクトを返します。

MakeArrayType(Int32)

次元数を指定して現在の型の配列を表す Type オブジェクトを返します。

MakeByRefType()

ref パラメーター (Visual Basic の場合は ByRef パラメーター) として渡されるときに現在の型を表す Type オブジェクトを返します。

MakeGenericMethodParameter(Int32)

ジェネリック パラメーター参照を表すために、GetMethod メソッドの Type [] 配列パラメーターに渡すことができる署名型オブジェクトを返します。

MakeGenericSignatureType(Type, Type[])

型メンバーの問い合わせで署名の型の利用を完全にサポートするための Reflection の再実装をサードパーティに許可するジェネリック署名の型を作成します。

MakeGenericType(Type[])

型の配列の要素を現在のジェネリック型定義の型パラメーターで置き換え、結果の構築型を表す Type オブジェクトを返します。

MakePointerType()

現在の型へのポインターを表す Type オブジェクトを返します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ReflectionOnlyGetType(String, Boolean, Boolean)
互換性のために残されています。

大文字と小文字を区別する検索を実行し、型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の Type を取得します。 型は実行ではなくリフレクションのためだけに読み込まれます。

ToString()

現在の String の名前を表す Type を返します。

演算子

Equality(Type, Type)

2 つの Type オブジェクトが等しいかどうかを示します。

Inequality(Type, Type)

2 つの Type オブジェクトが等しくないかどうかを示します。

明示的なインターフェイスの実装

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 MemberInfo)
_MemberInfo.GetType()

Type クラスを表す MemberInfo オブジェクトを取得します。

(継承元 MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。

(継承元 MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 MemberInfo)
_Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

_Type.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。

_Type.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

_Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

ICustomAttributeProvider.GetCustomAttributes(Boolean)

名前付きの属性を除く、このメンバーに定義されているすべてのカスタム属性の配列、またはカスタム属性がない場合は空の配列を返します。

(継承元 MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

型で識別された、このメンバーに定義されているカスタム属性の配列、または、この型のカスタム属性がない場合は空の配列を返します。

(継承元 MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

attributeType の 1 つ以上のインスタンスがこのメンバーで定義されているかどうかを示します。

(継承元 MemberInfo)

拡張メソッド

GetCustomAttribute(MemberInfo, Type)

指定したメンバーに適用される指定した型のカスタム属性を取得します。

GetCustomAttribute(MemberInfo, Type, Boolean)

指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を調べます。

GetCustomAttribute<T>(MemberInfo)

指定したメンバーに適用される指定した型のカスタム属性を取得します。

GetCustomAttribute<T>(MemberInfo, Boolean)

指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を調べます。

GetCustomAttributes(MemberInfo)

指定されたメンバーに適用されるカスタム属性のコレクションを取得します。

GetCustomAttributes(MemberInfo, Boolean)

指定されたメンバーに適用されるカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。

GetCustomAttributes(MemberInfo, Type)

指定されたメンバーに適用される指定された型のカスタム属性のコレクションを取得します。

GetCustomAttributes(MemberInfo, Type, Boolean)

指定されたメンバーに適用されている指定された型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。

GetCustomAttributes<T>(MemberInfo)

指定されたメンバーに適用される指定された型のカスタム属性のコレクションを取得します。

GetCustomAttributes<T>(MemberInfo, Boolean)

指定されたメンバーに適用されている指定された型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。

IsDefined(MemberInfo, Type)

指定された型のカスタム属性が指定されたメンバーに適用されているかどうかを示します。

IsDefined(MemberInfo, Type, Boolean)

指定された型のカスタム属性が指定されたメンバーに適用され、オプションで先祖に適用されているかどうかを示します。

GetTypeInfo(Type)

指定された型の TypeInfo 形式を返します。

GetMetadataToken(MemberInfo)

指定されたメンバーのメタデータ トークンを取得します (存在する場合)。

HasMetadataToken(MemberInfo)

指定されたメンバーに対してメタデータ トークンを使用できるかどうかを示す値を返します。

GetRuntimeEvent(Type, String)

指定したイベントを表すオブジェクトを取得します。

GetRuntimeEvents(Type)

指定した型で定義されるすべてのイベントを表すコレクションを取得します。

GetRuntimeField(Type, String)

指定したフィールドを表すオブジェクトを取得します。

GetRuntimeFields(Type)

指定した型で定義されるすべてのフィールドを表すコレクションを取得します。

GetRuntimeMethod(Type, String, Type[])

指定したメソッドを表すオブジェクトを取得します。

GetRuntimeMethods(Type)

指定した型で定義されるすべてのメソッドを表すコレクションを取得します。

GetRuntimeProperties(Type)

指定した型で定義されるすべてのプロパティを表すコレクションを取得します。

GetRuntimeProperty(Type, String)

指定したプロパティを表すオブジェクトを取得します。

GetConstructor(Type, Type[])
GetConstructors(Type)
GetConstructors(Type, BindingFlags)
GetDefaultMembers(Type)
GetEvent(Type, String)
GetEvent(Type, String, BindingFlags)
GetEvents(Type)
GetEvents(Type, BindingFlags)
GetField(Type, String)
GetField(Type, String, BindingFlags)
GetFields(Type)
GetFields(Type, BindingFlags)
GetGenericArguments(Type)
GetInterfaces(Type)
GetMember(Type, String)
GetMember(Type, String, BindingFlags)
GetMembers(Type)
GetMembers(Type, BindingFlags)
GetMethod(Type, String)
GetMethod(Type, String, BindingFlags)
GetMethod(Type, String, Type[])
GetMethods(Type)
GetMethods(Type, BindingFlags)
GetNestedType(Type, String, BindingFlags)
GetNestedTypes(Type, BindingFlags)
GetProperties(Type)
GetProperties(Type, BindingFlags)
GetProperty(Type, String)
GetProperty(Type, String, BindingFlags)
GetProperty(Type, String, Type)
GetProperty(Type, String, Type, Type[])
IsAssignableFrom(Type, Type)
IsInstanceOfType(Type, Object)

適用対象

スレッド セーフ

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

こちらもご覧ください