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示しています。 を表すStringオブジェクトを取得Typeするには、C# typeof 演算子 (GetTypeVisual Basicの演算子) を使用します。 このTypeオブジェクトから、このメソッドを使用して、GetMethodMethodInfo開始位置と長さを受け取るオーバーロードを表すString.Substring値を取得します。

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

注意

正確には、配列には、現在の Type アプリケーション ドメインで表される int インスタンスへの 2 つの参照が含まれています。 任意の種類に対して、アプリケーション ドメインごとにインスタンスが 1 つだけ Type 存在します。

このコード例では MethodInfo 、文字列 "Hello, World!" でメソッドを呼び出 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".
 */
open System

let t = typeof<String>

let substr = t.GetMethod("Substring", [| typeof<int>; typeof<int> |])

let result = substr.Invoke("Hello, World!", [| 7; 5 |])
printfn $"{substr} returned \"{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を提供します。 リフレクションでは、ランタイムという単語で始まるすべてのクラスは、システム内のオブジェクトごとに 1 回だけ作成され、比較操作をサポートします。

注意

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

注意

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

注意

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

このセクションの内容:

Type オブジェクトはどのような型を表しますか?
Type オブジェクトの取得
型オブジェクトの等価性の比較

Type オブジェクトはどのような型を表しますか?

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

  • クラス

  • 値型

  • 配列

  • インターフェイス

  • 列挙

  • 代理人

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

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

Type オブジェクトの取得

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

  • インスタンス メソッドは、インスタンス Object.GetTypeType 型を表すオブジェクトを返します。 すべてのマネージド型が派生 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
    
    let values: obj[] = [| "word"; true; 120; 136.34; 'a' |]
    for value in values do
       printfn $"{value} - type {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.GetTypeおよびModule.FindTypesメソッドはModule.GetTypes、モジュールで定義されている型を表すオブジェクトを返Typeします。 最初のメソッドを使用して、モジュールで定義されているすべてのパブリック型とプライベート型のオブジェクトの配列 Type を取得できます。 (インスタンスModuleは、メソッドまたはAssembly.GetModulesプロパティをAssembly.GetModule使用してType.Module取得できます)。

  • このSystem.Reflection.Assemblyオブジェクトには、アセンブリで定義されているクラスを取得するためのメソッドが多数含まれています。これにはAssembly.GetType、.Assembly.GetTypesAssembly.GetExportedTypes.

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

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

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

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

  • GetTypeFromProgID COM の相互運用性のために、およびGetTypeFromCLSIDメソッドが用意されています。 またはCLSIDで指定された型を表すオブジェクトをProgIDTypeします。

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

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

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

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

型オブジェクトの等価性の比較

Type型を表すオブジェクトは一意です。つまり、同じ型を表す場合にのみ、2 つの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
let number1 = 1635429L
let number2 = 16203
let number3 = 1639.41
let number4 = 193685412L

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

// Compare types of all objects with number1.
printfn $"Type of number1 and number2 are equal: {Object.ReferenceEquals(t, number2.GetType())}"
printfn $"Type of number1 and number3 are equal: {Object.ReferenceEquals(t, number3.GetType())}"
printfn $"Type of number1 and number4 are equal: {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)

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

拡張メソッド

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)

適用対象

スレッド セーフ

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

こちらもご覧ください