다음을 통해 공유


GenericTypeParameterBuilder 클래스

정의

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

public ref class GenericTypeParameterBuilder sealed : Type
public ref class GenericTypeParameterBuilder sealed : System::Reflection::TypeInfo
public ref class GenericTypeParameterBuilder abstract : System::Reflection::TypeInfo
public sealed class GenericTypeParameterBuilder : Type
public sealed class GenericTypeParameterBuilder : System.Reflection.TypeInfo
public abstract class GenericTypeParameterBuilder : System.Reflection.TypeInfo
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class GenericTypeParameterBuilder : Type
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class GenericTypeParameterBuilder : System.Reflection.TypeInfo
type GenericTypeParameterBuilder = class
    inherit Type
type GenericTypeParameterBuilder = class
    inherit TypeInfo
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericTypeParameterBuilder = class
    inherit Type
[<System.Runtime.InteropServices.ComVisible(true)>]
type GenericTypeParameterBuilder = class
    inherit TypeInfo
Public NotInheritable Class GenericTypeParameterBuilder
Inherits Type
Public NotInheritable Class GenericTypeParameterBuilder
Inherits TypeInfo
Public MustInherit Class GenericTypeParameterBuilder
Inherits TypeInfo
상속
GenericTypeParameterBuilder
상속
GenericTypeParameterBuilder
상속
GenericTypeParameterBuilder
특성

예제

다음 코드 예제에서는 두 개의 형식 매개 변수가 있는 제네릭 형식을 만들고 어셈블리 GenericEmitExample1.dll저장합니다. Ildasm.exe(IL 디스어셈블러) 사용하여 생성된 형식을 볼 수 있습니다. 동적 제네릭 형식 정의와 관련된 단계에 대한 자세한 설명은 방법: 리플렉션 내보내기를 사용하여 제네릭 형식 정의참조하세요.

using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
using namespace System::Collections::Generic;

// Dummy class to satisfy TFirst constraints.
//
public ref class Example {};

// Define a trivial base class and two trivial interfaces 
// to use when demonstrating constraints.
//
public ref class ExampleBase {};
public interface class IExampleA {};
public interface class IExampleB {};

// Define a trivial type that can substitute for type parameter 
// TSecond.
//
public ref class ExampleDerived : ExampleBase, IExampleA, IExampleB {};

// List the constraint flags. The GenericParameterAttributes
// enumeration contains two sets of attributes, variance and
// constraints. For this example, only constraints are used.
//
static void ListConstraintAttributes( Type^ t )
{
   // Mask off the constraint flags. 
   GenericParameterAttributes constraints = 
       t->GenericParameterAttributes & 
       GenericParameterAttributes::SpecialConstraintMask;

   if ((constraints & GenericParameterAttributes::ReferenceTypeConstraint)
           != GenericParameterAttributes::None)
       Console::WriteLine( L"    ReferenceTypeConstraint");

   if ((constraints & GenericParameterAttributes::NotNullableValueTypeConstraint)
           != GenericParameterAttributes::None)
       Console::WriteLine( L"    NotNullableValueTypeConstraint");

   if ((constraints & GenericParameterAttributes::DefaultConstructorConstraint)
           != GenericParameterAttributes::None)
       Console::WriteLine( L"    DefaultConstructorConstraint");
}

static void DisplayGenericParameters( Type^ t )
{
   if (!t->IsGenericType)
   {
       Console::WriteLine( L"Type '{0}' is not generic." );
       return;
   }
   if (!t->IsGenericTypeDefinition)
       t = t->GetGenericTypeDefinition();

   array<Type^>^ typeParameters = t->GetGenericArguments();
   Console::WriteLine( L"\r\nListing {0} type parameters for type '{1}'.", 
       typeParameters->Length, t );

   for each ( Type^ tParam in typeParameters )
   {
       Console::WriteLine( L"\r\nType parameter {0}:", 
           tParam->ToString() );

       for each (Type^ c in tParam->GetGenericParameterConstraints())
       {
           if (c->IsInterface)
               Console::WriteLine( L"    Interface constraint: {0}", c);
           else
               Console::WriteLine( L"    Base type constraint: {0}", c);
       }
       ListConstraintAttributes(tParam);
   }
}

void main()
{
   // Define a dynamic assembly to contain the sample type. The
   // assembly will be run and also saved to disk, so
   // AssemblyBuilderAccess.RunAndSave is specified.
   //
   AppDomain^ myDomain = AppDomain::CurrentDomain;
   AssemblyName^ myAsmName = gcnew AssemblyName( L"GenericEmitExample1" );
   AssemblyBuilder^ myAssembly = myDomain->DefineDynamicAssembly( 
       myAsmName, AssemblyBuilderAccess::RunAndSave );

   // An assembly is made up of executable modules. For a single-
   // module assembly, the module name and file name are the same 
   // as the assembly name. 
   //
   ModuleBuilder^ myModule = myAssembly->DefineDynamicModule( 
       myAsmName->Name, String::Concat( myAsmName->Name, L".dll" ) );

   // Get type objects for the base class trivial interfaces to
   // be used as constraints.
   //
   Type^ baseType = ExampleBase::typeid; 
   Type^ interfaceA = IExampleA::typeid; 
   Type^ interfaceB = IExampleB::typeid;
   
   // Define the sample type.
   //
   TypeBuilder^ myType = myModule->DefineType( L"Sample", 
       TypeAttributes::Public );
   
   Console::WriteLine( L"Type 'Sample' is generic: {0}", 
       myType->IsGenericType );
   
   // Define type parameters for the type. Until you do this, 
   // the type is not generic, as the preceding and following 
   // WriteLine statements show. The type parameter names are
   // specified as an array of strings. To make the code
   // easier to read, each GenericTypeParameterBuilder is placed
   // in a variable with the same name as the type parameter.
   // 
   array<String^>^typeParamNames = {L"TFirst",L"TSecond"};
   array<GenericTypeParameterBuilder^>^typeParams = 
       myType->DefineGenericParameters( typeParamNames );

   GenericTypeParameterBuilder^ TFirst = typeParams[0];
   GenericTypeParameterBuilder^ TSecond = typeParams[1];

   Console::WriteLine( L"Type 'Sample' is generic: {0}", 
       myType->IsGenericType );
   
   // Apply constraints to the type parameters.
   //
   // A type that is substituted for the first parameter, TFirst,
   // must be a reference type and must have a parameterless
   // constructor.
   TFirst->SetGenericParameterAttributes( 
       GenericParameterAttributes::DefaultConstructorConstraint | 
       GenericParameterAttributes::ReferenceTypeConstraint 
   );

   // A type that is substituted for the second type
   // parameter must implement IExampleA and IExampleB, and
   // inherit from the trivial test class ExampleBase. The
   // interface constraints are specified as an array
   // containing the interface types. 
   array<Type^>^interfaceTypes = { interfaceA, interfaceB };
   TSecond->SetInterfaceConstraints( interfaceTypes );
   TSecond->SetBaseTypeConstraint( baseType );

   // The following code adds a private field named ExampleField,
   // of type TFirst.
   FieldBuilder^ exField = 
       myType->DefineField("ExampleField", TFirst, 
           FieldAttributes::Private);

   // Define a static method that takes an array of TFirst and 
   // returns a List<TFirst> containing all the elements of 
   // the array. To define this method it is necessary to create
   // the type List<TFirst> by calling MakeGenericType on the
   // generic type definition, generic<T> List. 
   // The parameter type is created by using the
   // MakeArrayType method. 
   //
   Type^ listOf = List::typeid;
   Type^ listOfTFirst = listOf->MakeGenericType(TFirst);
   array<Type^>^ mParamTypes = { TFirst->MakeArrayType() };

   MethodBuilder^ exMethod = 
       myType->DefineMethod("ExampleMethod", 
           MethodAttributes::Public | MethodAttributes::Static, 
           listOfTFirst, 
           mParamTypes);

   // Emit the method body. 
   // The method body consists of just three opcodes, to load 
   // the input array onto the execution stack, to call the 
   // List<TFirst> constructor that takes IEnumerable<TFirst>,
   // which does all the work of putting the input elements into
   // the list, and to return, leaving the list on the stack. The
   // hard work is getting the constructor.
   // 
   // The GetConstructor method is not supported on a 
   // GenericTypeParameterBuilder, so it is not possible to get 
   // the constructor of List<TFirst> directly. There are two
   // steps, first getting the constructor of generic<T> List and then
   // calling a method that converts it to the corresponding 
   // constructor of List<TFirst>.
   //
   // The constructor needed here is the one that takes an
   // IEnumerable<T>. Note, however, that this is not the 
   // generic type definition of generic<T> IEnumerable; instead, the
   // T from generic<T> List must be substituted for the T of 
   // generic<T> IEnumerable. (This seems confusing only because both
   // types have type parameters named T. That is why this example
   // uses the somewhat silly names TFirst and TSecond.) To get
   // the type of the constructor argument, take the generic
   // type definition generic<T> IEnumerable and 
   // call MakeGenericType with the first generic type parameter
   // of generic<T> List. The constructor argument list must be passed
   // as an array, with just one argument in this case.
   // 
   // Now it is possible to get the constructor of generic<T> List,
   // using GetConstructor on the generic type definition. To get
   // the constructor of List<TFirst>, pass List<TFirst> and
   // the constructor from generic<T> List to the static
   // TypeBuilder.GetConstructor method.
   //
   ILGenerator^ ilgen = exMethod->GetILGenerator();
        
   Type^ ienumOf = IEnumerable::typeid;
   Type^ TfromListOf = listOf->GetGenericArguments()[0];
   Type^ ienumOfT = ienumOf->MakeGenericType(TfromListOf);
   array<Type^>^ ctorArgs = {ienumOfT};

   ConstructorInfo^ ctorPrep = listOf->GetConstructor(ctorArgs);
   ConstructorInfo^ ctor = 
       TypeBuilder::GetConstructor(listOfTFirst, ctorPrep);

   ilgen->Emit(OpCodes::Ldarg_0);
   ilgen->Emit(OpCodes::Newobj, ctor);
   ilgen->Emit(OpCodes::Ret);

   // Create the type and save the assembly. 
   Type^ finished = myType->CreateType();
   myAssembly->Save( String::Concat( myAsmName->Name, L".dll" ) );

   // Invoke the method.
   // ExampleMethod is not generic, but the type it belongs to is
   // generic, so in order to get a MethodInfo that can be invoked
   // it is necessary to create a constructed type. The Example 
   // class satisfies the constraints on TFirst, because it is a 
   // reference type and has a default constructor. In order to
   // have a class that satisfies the constraints on TSecond, 
   // this code example defines the ExampleDerived type. These
   // two types are passed to MakeGenericMethod to create the
   // constructed type.
   //
   array<Type^>^ typeArgs = 
       { Example::typeid, ExampleDerived::typeid };
   Type^ constructed = finished->MakeGenericType(typeArgs);
   MethodInfo^ mi = constructed->GetMethod("ExampleMethod");

   // Create an array of Example objects, as input to the generic
   // method. This array must be passed as the only element of an 
   // array of arguments. The first argument of Invoke is 
   // null, because ExampleMethod is static. Display the count
   // on the resulting List<Example>.
   // 
   array<Example^>^ input = { gcnew Example(), gcnew Example() };
   array<Object^>^ arguments = { input };

   List<Example^>^ listX = 
       (List<Example^>^) mi->Invoke(nullptr, arguments);

   Console::WriteLine(
       "\nThere are {0} elements in the List<Example>.", 
       listX->Count);

   DisplayGenericParameters(finished);
}

/* This code example produces the following output:

Type 'Sample' is generic: False
Type 'Sample' is generic: True

There are 2 elements in the List<Example>.

Listing 2 type parameters for type 'Sample[TFirst,TSecond]'.

Type parameter TFirst:
    ReferenceTypeConstraint
    DefaultConstructorConstraint

Type parameter TSecond:
    Interface constraint: IExampleA
    Interface constraint: IExampleB
    Base type constraint: ExampleBase
 */
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Collections.Generic;

// Define a trivial base class and two trivial interfaces
// to use when demonstrating constraints.
//
public class ExampleBase {}

public interface IExampleA {}

public interface IExampleB {}

// Define a trivial type that can substitute for type parameter
// TSecond.
//
public class ExampleDerived : ExampleBase, IExampleA, IExampleB {}

public class Example
{
    public static void Main()
    {
        // Define a dynamic assembly to contain the sample type. The
        // assembly will not be run, but only saved to disk, so
        // AssemblyBuilderAccess.Save is specified.
        //
        AppDomain myDomain = AppDomain.CurrentDomain;
        AssemblyName myAsmName = new AssemblyName("GenericEmitExample1");
        AssemblyBuilder myAssembly =
            myDomain.DefineDynamicAssembly(myAsmName,
                AssemblyBuilderAccess.RunAndSave);

        // An assembly is made up of executable modules. For a single-
        // module assembly, the module name and file name are the same
        // as the assembly name.
        //
        ModuleBuilder myModule =
            myAssembly.DefineDynamicModule(myAsmName.Name,
               myAsmName.Name + ".dll");

        // Get type objects for the base class trivial interfaces to
        // be used as constraints.
        //
        Type baseType = typeof(ExampleBase);
        Type interfaceA = typeof(IExampleA);
        Type interfaceB = typeof(IExampleB);

        // Define the sample type.
        //
        TypeBuilder myType =
            myModule.DefineType("Sample", TypeAttributes.Public);

        Console.WriteLine("Type 'Sample' is generic: {0}",
            myType.IsGenericType);

        // Define type parameters for the type. Until you do this,
        // the type is not generic, as the preceding and following
        // WriteLine statements show. The type parameter names are
        // specified as an array of strings. To make the code
        // easier to read, each GenericTypeParameterBuilder is placed
        // in a variable with the same name as the type parameter.
        //
        string[] typeParamNames = {"TFirst", "TSecond"};
        GenericTypeParameterBuilder[] typeParams =
            myType.DefineGenericParameters(typeParamNames);

        GenericTypeParameterBuilder TFirst = typeParams[0];
        GenericTypeParameterBuilder TSecond = typeParams[1];

        Console.WriteLine("Type 'Sample' is generic: {0}",
            myType.IsGenericType);

        // Apply constraints to the type parameters.
        //
        // A type that is substituted for the first parameter, TFirst,
        // must be a reference type and must have a parameterless
        // constructor.
        TFirst.SetGenericParameterAttributes(
            GenericParameterAttributes.DefaultConstructorConstraint |
            GenericParameterAttributes.ReferenceTypeConstraint);

        // A type that is substituted for the second type
        // parameter must implement IExampleA and IExampleB, and
        // inherit from the trivial test class ExampleBase. The
        // interface constraints are specified as an array
        // containing the interface types.
        TSecond.SetBaseTypeConstraint(baseType);
        Type[] interfaceTypes = {interfaceA, interfaceB};
        TSecond.SetInterfaceConstraints(interfaceTypes);

        // The following code adds a private field named ExampleField,
        // of type TFirst.
        FieldBuilder exField =
            myType.DefineField("ExampleField", TFirst,
                FieldAttributes.Private);

        // Define a static method that takes an array of TFirst and
        // returns a List<TFirst> containing all the elements of
        // the array. To define this method it is necessary to create
        // the type List<TFirst> by calling MakeGenericType on the
        // generic type definition, List<T>. (The T is omitted with
        // the typeof operator when you get the generic type
        // definition.) The parameter type is created by using the
        // MakeArrayType method.
        //
        Type listOf = typeof(List<>);
        Type listOfTFirst = listOf.MakeGenericType(TFirst);
        Type[] mParamTypes = {TFirst.MakeArrayType()};

        MethodBuilder exMethod =
            myType.DefineMethod("ExampleMethod",
                MethodAttributes.Public | MethodAttributes.Static,
                listOfTFirst,
                mParamTypes);

        // Emit the method body.
        // The method body consists of just three opcodes, to load
        // the input array onto the execution stack, to call the
        // List<TFirst> constructor that takes IEnumerable<TFirst>,
        // which does all the work of putting the input elements into
        // the list, and to return, leaving the list on the stack. The
        // hard work is getting the constructor.
        //
        // The GetConstructor method is not supported on a
        // GenericTypeParameterBuilder, so it is not possible to get
        // the constructor of List<TFirst> directly. There are two
        // steps, first getting the constructor of List<T> and then
        // calling a method that converts it to the corresponding
        // constructor of List<TFirst>.
        //
        // The constructor needed here is the one that takes an
        // IEnumerable<T>. Note, however, that this is not the
        // generic type definition of IEnumerable<T>; instead, the
        // T from List<T> must be substituted for the T of
        // IEnumerable<T>. (This seems confusing only because both
        // types have type parameters named T. That is why this example
        // uses the somewhat silly names TFirst and TSecond.) To get
        // the type of the constructor argument, take the generic
        // type definition IEnumerable<T> (expressed as
        // IEnumerable<> when you use the typeof operator) and
        // call MakeGenericType with the first generic type parameter
        // of List<T>. The constructor argument list must be passed
        // as an array, with just one argument in this case.
        //
        // Now it is possible to get the constructor of List<T>,
        // using GetConstructor on the generic type definition. To get
        // the constructor of List<TFirst>, pass List<TFirst> and
        // the constructor from List<T> to the static
        // TypeBuilder.GetConstructor method.
        //
        ILGenerator ilgen = exMethod.GetILGenerator();

        Type ienumOf = typeof(IEnumerable<>);
        Type TfromListOf = listOf.GetGenericArguments()[0];
        Type ienumOfT = ienumOf.MakeGenericType(TfromListOf);
        Type[] ctorArgs = {ienumOfT};

        ConstructorInfo ctorPrep = listOf.GetConstructor(ctorArgs);
        ConstructorInfo ctor =
            TypeBuilder.GetConstructor(listOfTFirst, ctorPrep);

        ilgen.Emit(OpCodes.Ldarg_0);
        ilgen.Emit(OpCodes.Newobj, ctor);
        ilgen.Emit(OpCodes.Ret);

        // Create the type and save the assembly.
        Type finished = myType.CreateType();
        myAssembly.Save(myAsmName.Name+".dll");

        // Invoke the method.
        // ExampleMethod is not generic, but the type it belongs to is
        // generic, so in order to get a MethodInfo that can be invoked
        // it is necessary to create a constructed type. The Example
        // class satisfies the constraints on TFirst, because it is a
        // reference type and has a default constructor. In order to
        // have a class that satisfies the constraints on TSecond,
        // this code example defines the ExampleDerived type. These
        // two types are passed to MakeGenericMethod to create the
        // constructed type.
        //
        Type[] typeArgs = {typeof(Example), typeof(ExampleDerived)};
        Type constructed = finished.MakeGenericType(typeArgs);
        MethodInfo mi = constructed.GetMethod("ExampleMethod");

        // Create an array of Example objects, as input to the generic
        // method. This array must be passed as the only element of an
        // array of arguments. The first argument of Invoke is
        // null, because ExampleMethod is static. Display the count
        // on the resulting List<Example>.
        //
        Example[] input = {new Example(), new Example()};
        object[] arguments = {input};

        List<Example> listX =
            (List<Example>) mi.Invoke(null, arguments);

        Console.WriteLine(
            "\nThere are {0} elements in the List<Example>.",
            listX.Count);

        DisplayGenericParameters(finished);
    }

    private static void DisplayGenericParameters(Type t)
    {
        if (!t.IsGenericType)
        {
            Console.WriteLine("Type '{0}' is not generic.");
            return;
        }
        if (!t.IsGenericTypeDefinition)
        {
            t = t.GetGenericTypeDefinition();
        }

        Type[] typeParameters = t.GetGenericArguments();
        Console.WriteLine("\nListing {0} type parameters for type '{1}'.",
            typeParameters.Length, t);

        foreach( Type tParam in typeParameters )
        {
            Console.WriteLine("\r\nType parameter {0}:", tParam.ToString());

            foreach( Type c in tParam.GetGenericParameterConstraints() )
            {
                if (c.IsInterface)
                {
                    Console.WriteLine("    Interface constraint: {0}", c);
                }
                else
                {
                    Console.WriteLine("    Base type constraint: {0}", c);
                }
            }

            ListConstraintAttributes(tParam);
        }
    }

    // List the constraint flags. The GenericParameterAttributes
    // enumeration contains two sets of attributes, variance and
    // constraints. For this example, only constraints are used.
    //
    private static void ListConstraintAttributes(Type t)
    {
        // Mask off the constraint flags.
        GenericParameterAttributes constraints =
            t.GenericParameterAttributes & GenericParameterAttributes.SpecialConstraintMask;

        if ((constraints & GenericParameterAttributes.ReferenceTypeConstraint)
            != GenericParameterAttributes.None)
        {
            Console.WriteLine("    ReferenceTypeConstraint");
        }

        if ((constraints & GenericParameterAttributes.NotNullableValueTypeConstraint)
            != GenericParameterAttributes.None)
        {
            Console.WriteLine("    NotNullableValueTypeConstraint");
        }

        if ((constraints & GenericParameterAttributes.DefaultConstructorConstraint)
            !=GenericParameterAttributes.None)
        {
            Console.WriteLine("    DefaultConstructorConstraint");
        }
    }
}

/* This code example produces the following output:

Type 'Sample' is generic: False
Type 'Sample' is generic: True

There are 2 elements in the List<Example>.

Listing 2 type parameters for type 'Sample[TFirst,TSecond]'.

Type parameter TFirst:
    ReferenceTypeConstraint
    DefaultConstructorConstraint

Type parameter TSecond:
    Interface constraint: IExampleA
    Interface constraint: IExampleB
    Base type constraint: ExampleBase
 */
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Collections.Generic

' Define a trivial base class and two trivial interfaces 
' to use when demonstrating constraints.
'
Public Class ExampleBase
End Class

Public Interface IExampleA
End Interface

Public Interface IExampleB
End Interface

' Define a trivial type that can substitute for type parameter 
' TSecond.
'
Public Class ExampleDerived
    Inherits ExampleBase
    Implements IExampleA, IExampleB
End Class

Public Class Example
    Public Shared Sub Main()
        ' Define a dynamic assembly to contain the sample type. The
        ' assembly will not be run, but only saved to disk, so
        ' AssemblyBuilderAccess.Save is specified.
        '
        Dim myDomain As AppDomain = AppDomain.CurrentDomain
        Dim myAsmName As New AssemblyName("GenericEmitExample1")
        Dim myAssembly As AssemblyBuilder = myDomain.DefineDynamicAssembly( _
            myAsmName, _
            AssemblyBuilderAccess.RunAndSave)

        ' An assembly is made up of executable modules. For a single-
        ' module assembly, the module name and file name are the same 
        ' as the assembly name. 
        '
        Dim myModule As ModuleBuilder = myAssembly.DefineDynamicModule( _
            myAsmName.Name, _
            myAsmName.Name & ".dll")

        ' Get type objects for the base class trivial interfaces to
        ' be used as constraints.
        '
        Dim baseType As Type = GetType(ExampleBase)
        Dim interfaceA As Type = GetType(IExampleA)
        Dim interfaceB As Type = GetType(IExampleB)
                
        ' Define the sample type.
        '
        Dim myType As TypeBuilder = myModule.DefineType( _
            "Sample", _
            TypeAttributes.Public)

        Console.WriteLine("Type 'Sample' is generic: {0}", _
            myType.IsGenericType)

        ' Define type parameters for the type. Until you do this, 
        ' the type is not generic, as the preceding and following 
        ' WriteLine statements show. The type parameter names are
        ' specified as an array of strings. To make the code
        ' easier to read, each GenericTypeParameterBuilder is placed
        ' in a variable with the same name as the type parameter.
        ' 
        Dim typeParamNames() As String = {"TFirst", "TSecond"}
        Dim typeParams() As GenericTypeParameterBuilder = _
            myType.DefineGenericParameters(typeParamNames)

        Dim TFirst As GenericTypeParameterBuilder = typeParams(0)
        Dim TSecond As GenericTypeParameterBuilder = typeParams(1)

        Console.WriteLine("Type 'Sample' is generic: {0}", _
            myType.IsGenericType)

        ' Apply constraints to the type parameters.
        '
        ' A type that is substituted for the first parameter, TFirst,
        ' must be a reference type and must have a parameterless
        ' constructor.
        TFirst.SetGenericParameterAttributes( _
            GenericParameterAttributes.DefaultConstructorConstraint _
            Or GenericParameterAttributes.ReferenceTypeConstraint)

        ' A type that is substituted for the second type
        ' parameter must implement IExampleA and IExampleB, and
        ' inherit from the trivial test class ExampleBase. The
        ' interface constraints are specified as an array 
        ' containing the interface types.
        TSecond.SetBaseTypeConstraint(baseType)
        Dim interfaceTypes() As Type = {interfaceA, interfaceB}
        TSecond.SetInterfaceConstraints(interfaceTypes)

        ' The following code adds a private field named ExampleField,
        ' of type TFirst.
        Dim exField As FieldBuilder = _
            myType.DefineField("ExampleField", TFirst, _
                FieldAttributes.Private)

        ' Define a Shared method that takes an array of TFirst and 
        ' returns a List(Of TFirst) containing all the elements of 
        ' the array. To define this method it is necessary to create
        ' the type List(Of TFirst) by calling MakeGenericType on the
        ' generic type definition, List(Of T). (The T is omitted with
        ' the GetType operator when you get the generic type 
        ' definition.) The parameter type is created by using the
        ' MakeArrayType method. 
        '
        Dim listOf As Type = GetType(List(Of ))
        Dim listOfTFirst As Type = listOf.MakeGenericType(TFirst)
        Dim mParamTypes() As Type = { TFirst.MakeArrayType() }

        Dim exMethod As MethodBuilder = _
            myType.DefineMethod("ExampleMethod", _
                MethodAttributes.Public Or MethodAttributes.Static, _
                listOfTFirst, _
                mParamTypes)

        ' Emit the method body. 
        ' The method body consists of just three opcodes, to load 
        ' the input array onto the execution stack, to call the 
        ' List(Of TFirst) constructor that takes IEnumerable(Of TFirst),
        ' which does all the work of putting the input elements into
        ' the list, and to return, leaving the list on the stack. The
        ' hard work is getting the constructor.
        ' 
        ' The GetConstructor method is not supported on a 
        ' GenericTypeParameterBuilder, so it is not possible to get 
        ' the constructor of List(Of TFirst) directly. There are two
        ' steps, first getting the constructor of List(Of T) and then
        ' calling a method that converts it to the corresponding 
        ' constructor of List(Of TFirst).
        '
        ' The constructor needed here is the one that takes an
        ' IEnumerable(Of T). Note, however, that this is not the 
        ' generic type definition of IEnumerable(Of T); instead, the
        ' T from List(Of T) must be substituted for the T of 
        ' IEnumerable(Of T). (This seems confusing only because both
        ' types have type parameters named T. That is why this example
        ' uses the somewhat silly names TFirst and TSecond.) To get
        ' the type of the constructor argument, take the generic
        ' type definition IEnumerable(Of T) (expressed as 
        ' IEnumerable(Of ) when you use the GetType operator) and 
        ' call MakeGenericType with the first generic type parameter
        ' of List(Of T). The constructor argument list must be passed
        ' as an array, with just one argument in this case.
        ' 
        ' Now it is possible to get the constructor of List(Of T),
        ' using GetConstructor on the generic type definition. To get
        ' the constructor of List(Of TFirst), pass List(Of TFirst) and
        ' the constructor from List(Of T) to the static
        ' TypeBuilder.GetConstructor method.
        '
        Dim ilgen As ILGenerator = exMethod.GetILGenerator()
        
        Dim ienumOf As Type = GetType(IEnumerable(Of ))
        Dim listOfTParams() As Type = listOf.GetGenericArguments()
        Dim TfromListOf As Type = listOfTParams(0)
        Dim ienumOfT As Type = ienumOf.MakeGenericType(TfromListOf)
        Dim ctorArgs() As Type = { ienumOfT }

        Dim ctorPrep As ConstructorInfo = _
            listOf.GetConstructor(ctorArgs)
        Dim ctor As ConstructorInfo = _
            TypeBuilder.GetConstructor(listOfTFirst, ctorPrep)

        ilgen.Emit(OpCodes.Ldarg_0)
        ilgen.Emit(OpCodes.Newobj, ctor)
        ilgen.Emit(OpCodes.Ret)

        ' Create the type and save the assembly. 
        Dim finished As Type = myType.CreateType()
        myAssembly.Save(myAsmName.Name & ".dll")

        ' Invoke the method.
        ' ExampleMethod is not generic, but the type it belongs to is
        ' generic, so in order to get a MethodInfo that can be invoked
        ' it is necessary to create a constructed type. The Example 
        ' class satisfies the constraints on TFirst, because it is a 
        ' reference type and has a default constructor. In order to
        ' have a class that satisfies the constraints on TSecond, 
        ' this code example defines the ExampleDerived type. These
        ' two types are passed to MakeGenericMethod to create the
        ' constructed type.
        '
        Dim typeArgs() As Type = _
            { GetType(Example), GetType(ExampleDerived) }
        Dim constructed As Type = finished.MakeGenericType(typeArgs)
        Dim mi As MethodInfo = constructed.GetMethod("ExampleMethod")

        ' Create an array of Example objects, as input to the generic
        ' method. This array must be passed as the only element of an 
        ' array of arguments. The first argument of Invoke is 
        ' Nothing, because ExampleMethod is Shared. Display the count
        ' on the resulting List(Of Example).
        ' 
        Dim input() As Example = { New Example(), New Example() }
        Dim arguments() As Object = { input }

        Dim listX As List(Of Example) = mi.Invoke(Nothing, arguments)

        Console.WriteLine(vbLf & _
            "There are {0} elements in the List(Of Example).", _
            listX.Count _ 
        )

        DisplayGenericParameters(finished)
    End Sub

    Private Shared Sub DisplayGenericParameters(ByVal t As Type)

        If Not t.IsGenericType Then
            Console.WriteLine("Type '{0}' is not generic.")
            Return
        End If
        If Not t.IsGenericTypeDefinition Then _
            t = t.GetGenericTypeDefinition()

        Dim typeParameters() As Type = t.GetGenericArguments()
        Console.WriteLine(vbCrLf & _
            "Listing {0} type parameters for type '{1}'.", _
            typeParameters.Length, t)

        For Each tParam As Type In typeParameters

            Console.WriteLine(vbCrLf & "Type parameter {0}:", _
                tParam.ToString())

            For Each c As Type In tParam.GetGenericParameterConstraints()
                If c.IsInterface Then
                    Console.WriteLine("    Interface constraint: {0}", c)
                Else
                    Console.WriteLine("    Base type constraint: {0}", c)
                End If
            Next 

            ListConstraintAttributes(tParam)
        Next tParam
    End Sub

    ' List the constraint flags. The GenericParameterAttributes
    ' enumeration contains two sets of attributes, variance and
    ' constraints. For this example, only constraints are used.
    '
    Private Shared Sub ListConstraintAttributes(ByVal t As Type)

        ' Mask off the constraint flags. 
        Dim constraints As GenericParameterAttributes = _
            t.GenericParameterAttributes And _
            GenericParameterAttributes.SpecialConstraintMask

        If (constraints And GenericParameterAttributes.ReferenceTypeConstraint) _
                <> GenericParameterAttributes.None Then _
            Console.WriteLine("    ReferenceTypeConstraint")

        If (constraints And GenericParameterAttributes.NotNullableValueTypeConstraint) _
                <> GenericParameterAttributes.None Then _
            Console.WriteLine("    NotNullableValueTypeConstraint")

        If (constraints And GenericParameterAttributes.DefaultConstructorConstraint) _
                <> GenericParameterAttributes.None Then _
            Console.WriteLine("    DefaultConstructorConstraint")

    End Sub 

End Class

' This code example produces the following output:
'
'Type 'Sample' is generic: False
'Type 'Sample' is generic: True
'
'There are 2 elements in the List(Of Example).
'
'Listing 2 type parameters for type 'Sample[TFirst,TSecond]'.
'
'Type parameter TFirst:
'    ReferenceTypeConstraint
'    DefaultConstructorConstraint
'
'Type parameter TSecond:
'    Interface constraint: IExampleA
'    Interface constraint: IExampleB
'    Base type constraint: ExampleBase

설명

TypeBuilder.DefineGenericParameters 메서드를 사용하여 형식 매개 변수를 동적 형식에 추가하거나, 제네릭 형식으로 만들거나, MethodBuilder.DefineGenericParameters 메서드를 사용하여 형식 매개 변수를 동적 메서드에 추가하여 GenericTypeParameterBuilder 개체의 배열을 가져올 수 있습니다. GenericTypeParameterBuilder 개체를 사용하여 형식 매개 변수에 제약 조건을 추가합니다. 제약 조건은 세 가지 종류입니다.

  • 기본 형식 제약 조건은 제네릭 형식 매개 변수에 할당된 모든 형식이 특정 기본 형식에서 파생되도록 지정합니다. SetBaseTypeConstraint 메서드를 사용하여 이 제약 조건을 설정합니다.

  • 인터페이스 제약 조건은 제네릭 형식 매개 변수에 할당된 모든 형식이 특정 인터페이스를 구현하도록 지정합니다. SetInterfaceConstraints 메서드를 사용하여 인터페이스 제약 조건을 설정합니다.

  • 특수 제약 조건은 제네릭 형식 매개 변수에 할당된 모든 형식에 매개 변수가 없는 생성자가 있거나, 참조 형식이어야 하거나, 값 형식이어야 하므로 지정합니다. SetGenericParameterAttributes 메서드를 사용하여 형식 매개 변수에 대한 특수 제약 조건을 설정합니다.

인터페이스 제약 조건 및 특수 제약 조건은 GenericTypeParameterBuilder 클래스의 메서드를 사용하여 검색할 수 없습니다. 형식 매개 변수가 포함된 제네릭 형식을 만든 후에는 해당 Type 개체를 사용하여 제약 조건을 반영할 수 있습니다. Type.GetGenericArguments 메서드를 사용하여 형식 매개 변수를 가져오고 각 형식 매개 변수에 대해 Type.GetGenericParameterConstraints 메서드를 사용하여 기본 형식 제약 조건 및 인터페이스 제약 조건을 가져오고 Type.GenericParameterAttributes 속성을 사용하여 특수 제약 조건을 가져옵니다.

생성자

GenericTypeParameterBuilder()

GenericTypeParameterBuilder 클래스의 새 인스턴스를 초기화합니다.

속성

Assembly

현재 형식 매개 변수가 속한 제네릭 형식 정의를 포함하는 동적 어셈블리를 나타내는 Assembly 개체를 가져옵니다.

AssemblyQualifiedName

모든 경우에 null 가져옵니다.

Attributes

Type연결된 특성을 가져옵니다.

Attributes

Type연결된 특성을 가져옵니다.

(다음에서 상속됨 Type)
Attributes

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
BaseType

현재 제네릭 형식 매개 변수의 기본 형식 제약 조건을 가져옵니다.

ContainsGenericParameters

모든 경우에 true 가져옵니다.

CustomAttributes

이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다.

(다음에서 상속됨 MemberInfo)
DeclaredConstructors

현재 형식으로 선언된 생성자의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredEvents

현재 형식으로 정의된 이벤트의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredFields

현재 형식으로 정의된 필드의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredMembers

현재 형식으로 정의된 멤버의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredMethods

현재 형식으로 정의된 메서드의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredNestedTypes

현재 형식으로 정의된 중첩 형식의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaredProperties

현재 형식으로 정의된 속성의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
DeclaringMethod

현재 GenericTypeParameterBuilder 제네릭 메서드의 형식 매개 변수를 나타내는 경우 선언 메서드를 나타내는 MethodInfo 가져옵니다.

DeclaringType

제네릭 형식 매개 변수가 속한 제네릭 형식 정의 또는 제네릭 메서드 정의를 가져옵니다.

FullName

모든 경우에 null 가져옵니다.

GenericParameterAttributes

현재 제네릭 형식 매개 변수의 공변성 및 특수 제약 조건을 설명하는 GenericParameterAttributes 플래그의 조합을 가져옵니다.

GenericParameterAttributes

현재 제네릭 형식 매개 변수의 공변성 및 특수 제약 조건을 설명하는 GenericParameterAttributes 플래그의 조합을 가져옵니다.

(다음에서 상속됨 Type)
GenericParameterPosition

매개 변수를 선언한 제네릭 형식 또는 메서드의 형식 매개 변수 목록에서 형식 매개 변수의 위치를 가져옵니다.

GenericTypeArguments

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GenericTypeArguments

이 형식에 대한 제네릭 형식 인수의 배열을 가져옵니다.

(다음에서 상속됨 Type)
GenericTypeArguments

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GenericTypeParameters

현재 인스턴스의 제네릭 형식 매개 변수 배열을 가져옵니다.

(다음에서 상속됨 TypeInfo)
GUID

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

HasElementType

현재 Type 다른 형식을 포함하거나 참조하는지 여부를 나타내는 값을 가져옵니다. 즉, 현재 Type 배열, 포인터 또는 참조로 전달되는지 여부입니다.

(다음에서 상속됨 Type)
HasElementType

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
ImplementedInterfaces

현재 형식으로 구현된 인터페이스의 컬렉션을 가져옵니다.

(다음에서 상속됨 TypeInfo)
IsAbstract

Type 추상이며 재정의해야 하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsAbstract

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsAnsiClass

Type대해 문자열 형식 특성 AnsiClass 선택되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsAnsiClass

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsArray

형식이 배열인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsArray

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsAutoClass

Type대해 문자열 형식 특성 AutoClass 선택되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsAutoClass

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsAutoLayout

현재 형식의 필드가 공용 언어 런타임에 의해 자동으로 배치되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsAutoLayout

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsByRef

Type 참조로 전달되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsByRef

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsByRefLike

형식이 바이레프와 유사한 구조체인지 여부를 나타내는 값을 가져옵니다.

IsByRefLike

형식이 바이레프와 유사한 구조체인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsClass

Type 클래스인지 대리자인지 여부를 나타내는 값을 가져옵니다. 즉, 값 형식이나 인터페이스가 아닙니다.

(다음에서 상속됨 Type)
IsClass

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsCollectible

MemberInfo 개체가 수집 가능한 AssemblyLoadContext있는 어셈블리의 일부인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 MemberInfo)
IsCOMObject

Type COM 개체인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsCOMObject

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsConstructedGenericType

이 개체가 생성된 제네릭 형식을 나타내는지 여부를 나타내는 값을 가져옵니다.

IsConstructedGenericType

이 개체가 생성된 제네릭 형식을 나타내는지 여부를 나타내는 값을 가져옵니다. 생성된 제네릭 형식의 인스턴스를 만들 수 있습니다.

(다음에서 상속됨 Type)
IsContextful

Type 컨텍스트에서 호스트할 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsEnum

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

IsEnum

현재 Type 열거형을 나타내는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsEnum

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsExplicitLayout

현재 형식의 필드가 명시적으로 지정된 오프셋에 배치되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsExplicitLayout

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsFunctionPointer

현재 Type 함수 포인터인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsGenericMethodParameter

현재 Type 제네릭 메서드 정의에서 형식 매개 변수를 나타내는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsGenericParameter

모든 경우에 true 가져옵니다.

IsGenericType

모든 경우에 false 반환합니다.

IsGenericTypeDefinition

모든 경우에 false 가져옵니다.

IsGenericTypeParameter

현재 Type 제네릭 형식 정의의 형식 매개 변수를 나타내는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsImport

Type COM 형식 라이브러리에서 가져온 ComImportAttribute 특성이 적용되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsImport

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsInterface

Type 인터페이스인지 여부를 나타내는 값을 가져옵니다. 즉, 클래스 또는 값 형식이 아닙니다.

(다음에서 상속됨 Type)
IsInterface

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsLayoutSequential

현재 형식의 필드가 정의되거나 메타데이터로 내보내는 순서대로 순차적으로 배치되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsLayoutSequential

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsMarshalByRef

Type 참조로 마샬링되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsMarshalByRef

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNested

현재 Type 개체가 정의가 다른 형식의 정의 내에 중첩된 형식을 나타내는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNested

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedAssembly

Type 중첩되어 자체 어셈블리 내에서만 표시되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedAssembly

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedFamANDAssem

Type 중첩되어 자체 패밀리 및 자체 어셈블리에 속하는 클래스에만 표시되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedFamANDAssem

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedFamily

Type 중첩되고 자체 패밀리 내에서만 표시되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedFamily

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedFamORAssem

Type 중첩되어 자체 패밀리 또는 자체 어셈블리에 속하는 클래스에만 표시되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedFamORAssem

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedPrivate

Type 중첩되고 프라이빗으로 선언되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedPrivate

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNestedPublic

클래스가 중첩되고 public으로 선언되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNestedPublic

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsNotPublic

Type public으로 선언되지 않았는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsNotPublic

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsPointer

Type 포인터인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsPointer

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsPrimitive

Type 기본 형식 중 하나인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsPrimitive

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsPublic

Type public으로 선언되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsPublic

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsSealed

Type sealed로 선언되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsSealed

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsSecurityCritical

현재 형식이 현재 신뢰 수준에서 보안에 중요하거나 보안이 안전한지 여부를 나타내는 값을 가져오므로 중요한 작업을 수행할 수 있습니다.

(다음에서 상속됨 Type)
IsSecuritySafeCritical

현재 형식이 현재 신뢰 수준에서 보안에 중요한지 여부를 나타내는 값을 가져옵니다. 즉, 중요한 작업을 수행할 수 있고 투명 코드로 액세스할 수 있는지 여부입니다.

(다음에서 상속됨 Type)
IsSecurityTransparent

현재 형식이 현재 신뢰 수준에서 투명하므로 중요한 작업을 수행할 수 없는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsSerializable

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

IsSerializable
사용되지 않음.

Type 이진 serialize 가능 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsSerializable

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsSignatureType

형식이 서명 형식인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsSpecialName

형식에 특수 처리가 필요한 이름이 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsSpecialName

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsSZArray

형식이 하한이 0인 1차원 배열만 나타낼 수 있는 배열 형식인지 여부를 나타내는 값을 가져옵니다.

IsSZArray

형식이 하한이 0인 1차원 배열만 나타낼 수 있는 배열 형식인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsTypeDefinition

형식이 형식 정의인지 여부를 나타내는 값을 가져옵니다.

IsTypeDefinition

형식이 형식 정의인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsUnicodeClass

Type대해 문자열 형식 특성 UnicodeClass 선택되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsUnicodeClass

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsUnmanagedFunctionPointer

현재 Type 관리되지 않는 함수 포인터인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsValueType

Type 값 형식인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsValueType

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsVariableBoundArray

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

IsVariableBoundArray

형식이 다차원 배열을 나타낼 수 있는 배열 형식인지 아니면 임의의 하한이 있는 배열인지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsVisible

어셈블리 외부의 코드에서 Type 액세스할 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Type)
IsVisible

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
MemberType

이 멤버가 형식 또는 중첩 형식임을 나타내는 MemberTypes 값을 가져옵니다.

(다음에서 상속됨 Type)
MemberType

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
MetadataToken

메타데이터에서 현재 동적 모듈을 식별하는 토큰을 가져옵니다.

MetadataToken

메타데이터 요소를 식별하는 값을 가져옵니다.

(다음에서 상속됨 MemberInfo)
Module

제네릭 형식 매개 변수를 포함하는 동적 모듈을 가져옵니다.

Name

제네릭 형식 매개 변수의 이름을 가져옵니다.

Namespace

모든 경우에 null 가져옵니다.

ReflectedType

GenericTypeParameterBuilder가져오는 데 사용된 Type 개체를 가져옵니다.

ReflectedType

MemberInfo인스턴스를 가져오는 데 사용된 클래스 개체를 가져옵니다.

(다음에서 상속됨 MemberInfo)
StructLayoutAttribute

현재 형식의 레이아웃을 설명하는 StructLayoutAttribute 가져옵니다.

(다음에서 상속됨 Type)
StructLayoutAttribute

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
TypeHandle

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

TypeInitializer

형식의 이니셜라이저를 가져옵니다.

(다음에서 상속됨 Type)
TypeInitializer

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
UnderlyingSystemType

현재 제네릭 형식 매개 변수를 가져옵니다.

UnderlyingSystemType

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)

메서드

AsType()

현재 형식을 Type 개체로 반환합니다.

(다음에서 상속됨 TypeInfo)
Equals(Object)

지정된 개체가 EventToken 인스턴스이고 현재 인스턴스와 같은지 테스트합니다.

Equals(Type)

현재 Type 기본 시스템 형식이 지정된 Type기본 시스템 형식과 같은지 확인합니다.

(다음에서 상속됨 Type)
FindInterfaces(TypeFilter, Object)

현재 Type구현되거나 상속된 필터링된 인터페이스 목록을 나타내는 Type 개체의 배열을 반환합니다.

(다음에서 상속됨 Type)
FindInterfaces(TypeFilter, Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
FindMembers(MemberTypes, BindingFlags, MemberFilter, Object)

지정된 멤버 형식의 MemberInfo 개체의 필터링된 배열을 반환합니다.

(다음에서 상속됨 Type)
FindMembers(MemberTypes, BindingFlags, MemberFilter, Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetArrayRank()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetArrayRank()

배열의 차원 수를 가져옵니다.

(다음에서 상속됨 Type)
GetArrayRank()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetAttributeFlagsImpl()

파생 클래스에서 재정의되는 경우 Attributes 속성을 구현하고 Type연결된 특성을 나타내는 열거형 값의 비트 조합을 가져옵니다.

GetAttributeFlagsImpl()

파생 클래스에서 재정의되는 경우 Attributes 속성을 구현하고 Type연결된 특성을 나타내는 열거형 값의 비트 조합을 가져옵니다.

(다음에서 상속됨 Type)
GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 생성자를 검색합니다.

(다음에서 상속됨 Type)
GetConstructor(BindingFlags, Binder, Type[], ParameterModifier[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 생성자를 검색합니다.

(다음에서 상속됨 Type)
GetConstructor(BindingFlags, Type[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식과 일치하는 생성자를 검색합니다.

(다음에서 상속됨 Type)
GetConstructor(Type[])

매개 변수가 지정된 배열의 형식과 일치하는 공용 인스턴스 생성자를 검색합니다.

(다음에서 상속됨 Type)
GetConstructor(Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

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

파생 클래스에서 재정의되는 경우 지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 생성자를 검색합니다.

(다음에서 상속됨 Type)
GetConstructors()

현재 Type대해 정의된 모든 공용 생성자를 반환합니다.

(다음에서 상속됨 Type)
GetConstructors()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetConstructors(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetConstructors(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetCustomAttributes(Boolean)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetCustomAttributes(Boolean)

파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다.

(다음에서 상속됨 MemberInfo)
GetCustomAttributes(Type, Boolean)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetCustomAttributes(Type, Boolean)

파생 클래스에서 재정의되는 경우 이 멤버에 적용되고 Type식별되는 사용자 지정 특성 배열을 반환합니다.

(다음에서 상속됨 MemberInfo)
GetCustomAttributesData()

대상 멤버에 적용된 특성에 대한 데이터를 나타내는 CustomAttributeData 개체 목록을 반환합니다.

(다음에서 상속됨 MemberInfo)
GetDeclaredEvent(String)

현재 형식으로 선언된 지정된 이벤트를 나타내는 개체를 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDeclaredField(String)

현재 형식으로 선언된 지정된 필드를 나타내는 개체를 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDeclaredMethod(String)

현재 형식으로 선언된 지정된 메서드를 나타내는 개체를 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDeclaredMethods(String)

지정된 이름과 일치하는 현재 형식에 선언된 모든 메서드가 포함된 컬렉션을 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDeclaredNestedType(String)

현재 형식으로 선언된 지정된 중첩 형식을 나타내는 개체를 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDeclaredProperty(String)

현재 형식으로 선언된 지정된 속성을 나타내는 개체를 반환합니다.

(다음에서 상속됨 TypeInfo)
GetDefaultMembers()

DefaultMemberAttribute 설정된 현재 Type 대해 정의된 멤버를 검색합니다.

(다음에서 상속됨 Type)
GetDefaultMembers()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetElementType()

모든 경우에 NotSupportedException throw합니다.

GetEnumName(Object)

현재 열거형 형식에 대해 지정된 값이 있는 상수의 이름을 반환합니다.

(다음에서 상속됨 Type)
GetEnumName(Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEnumNames()

현재 열거형 형식의 멤버 이름을 반환합니다.

(다음에서 상속됨 Type)
GetEnumNames()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEnumUnderlyingType()

현재 열거형 형식의 기본 형식을 반환합니다.

(다음에서 상속됨 Type)
GetEnumUnderlyingType()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEnumValues()

현재 열거형 형식의 상수 값 배열을 반환합니다.

(다음에서 상속됨 Type)
GetEnumValues()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEnumValuesAsUnderlyingType()

이 열거형 형식의 기본 형식 상수 값 배열을 검색합니다.

(다음에서 상속됨 Type)
GetEvent(String, BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetEvent(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEvent(String)

지정된 공용 이벤트를 나타내는 EventInfo 개체를 반환합니다.

(다음에서 상속됨 Type)
GetEvent(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEvents()

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetEvents()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetEvents(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetEvents(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetField(String, BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetField(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetField(String)

지정된 이름의 공용 필드를 검색합니다.

(다음에서 상속됨 Type)
GetField(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetFields()

현재 Type모든 공용 필드를 반환합니다.

(다음에서 상속됨 Type)
GetFields()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetFields(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetFields(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetFunctionPointerCallingConventions()

파생 클래스에서 재정의되는 경우 현재 함수 포인터 Type호출 규칙을 반환합니다.

(다음에서 상속됨 Type)
GetFunctionPointerParameterTypes()

파생 클래스에서 재정의되는 경우 현재 함수 포인터 Type매개 변수 형식을 반환합니다.

(다음에서 상속됨 Type)
GetFunctionPointerReturnType()

파생 클래스에서 재정의되는 경우 현재 함수 포인터 Type반환 형식을 반환합니다.

(다음에서 상속됨 Type)
GetGenericArguments()

제네릭 형식 매개 변수에는 유효하지 않습니다.

GetGenericArguments()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetGenericParameterConstraints()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetGenericParameterConstraints()

현재 제네릭 형식 매개 변수의 제약 조건을 나타내는 Type 개체의 배열을 반환합니다.

(다음에서 상속됨 Type)
GetGenericParameterConstraints()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetGenericTypeDefinition()

제네릭 형식 매개 변수에는 유효하지 않습니다.

GetHashCode()

현재 인스턴스에 대한 32비트 정수 해시 코드를 반환합니다.

GetInterface(String, Boolean)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetInterface(String, Boolean)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetInterface(String)

지정된 이름의 인터페이스를 검색합니다.

(다음에서 상속됨 Type)
GetInterface(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetInterfaceMap(Type)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetInterfaces()

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetInterfaces()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMember(String, BindingFlags)

지정된 바인딩 제약 조건을 사용하여 지정된 멤버를 검색합니다.

(다음에서 상속됨 Type)
GetMember(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMember(String, MemberTypes, BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetMember(String, MemberTypes, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMember(String)

지정된 이름의 공용 멤버를 검색합니다.

(다음에서 상속됨 Type)
GetMember(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMembers()

현재 Type모든 공용 멤버를 반환합니다.

(다음에서 상속됨 Type)
GetMembers()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMembers(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetMembers(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMemberWithSameMetadataDefinitionAs(MemberInfo)

지정된 MemberInfo일치하는 현재 TypeMemberInfo 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, BindingFlags, Type[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식과 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, BindingFlags)

지정된 바인딩 제약 조건을 사용하여 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMethod(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 제네릭 매개 변수 수, 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Int32, BindingFlags, Binder, Type[], ParameterModifier[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 제네릭 매개 변수 수, 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Int32, BindingFlags, Type[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 제네릭 매개 변수 수 및 인수 형식과 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Int32, Type[], ParameterModifier[])

매개 변수가 지정된 제네릭 매개 변수 수, 인수 형식 및 한정자와 일치하는 지정된 public 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Int32, Type[])

매개 변수가 지정된 제네릭 매개 변수 수 및 인수 형식과 일치하는 지정된 public 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Type[], ParameterModifier[])

매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 public 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Type[], ParameterModifier[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMethod(String, Type[])

매개 변수가 지정된 인수 형식과 일치하는 지정된 public 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String, Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMethod(String)

지정된 이름의 public 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethod(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

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

파생 클래스에서 재정의되는 경우 지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

파생 클래스에서 재정의되는 경우 지정된 바인딩 제약 조건 및 지정된 호출 규칙을 사용하여 매개 변수가 지정된 제네릭 매개 변수 수, 인수 형식 및 한정자와 일치하는 지정된 메서드를 검색합니다.

(다음에서 상속됨 Type)
GetMethods()

현재 Type모든 public 메서드를 반환합니다.

(다음에서 상속됨 Type)
GetMethods()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetMethods(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetMethods(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetNestedType(String, BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetNestedType(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetNestedType(String)

지정된 이름의 공용 중첩 형식을 검색합니다.

(다음에서 상속됨 Type)
GetNestedType(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetNestedTypes()

현재 Type중첩된 public 형식을 반환합니다.

(다음에서 상속됨 Type)
GetNestedTypes()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetNestedTypes(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetNestedTypes(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetOptionalCustomModifiers()

파생 클래스에서 재정의되는 경우 현재 Type선택적 사용자 지정 한정자를 반환합니다.

(다음에서 상속됨 Type)
GetProperties()

현재 Type모든 public 속성을 반환합니다.

(다음에서 상속됨 Type)
GetProperties()

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperties(BindingFlags)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

GetProperties(BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, BindingFlags)

지정된 바인딩 제약 조건을 사용하여 지정된 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String, Type, Type[], ParameterModifier[])

매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 public 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, Type, Type[], ParameterModifier[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String, Type, Type[])

매개 변수가 지정된 인수 형식과 일치하는 지정된 public 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, Type, Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String, Type)

지정된 이름과 반환 형식을 사용하여 public 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String, Type[])

매개 변수가 지정된 인수 형식과 일치하는 지정된 public 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String, Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetProperty(String)

지정된 이름의 public 속성을 검색합니다.

(다음에서 상속됨 Type)
GetProperty(String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

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

파생 클래스에서 재정의되는 경우 지정된 바인딩 제약 조건을 사용하여 매개 변수가 지정된 인수 형식 및 한정자와 일치하는 지정된 속성을 검색합니다.

(다음에서 상속됨 Type)
GetRequiredCustomModifiers()

파생 클래스에서 재정의되는 경우 현재 Type필요한 사용자 지정 한정자를 반환합니다.

(다음에서 상속됨 Type)
GetType()

현재 Type가져옵니다.

(다음에서 상속됨 Type)
GetType()

멤버의 특성을 검색하고 멤버 메타데이터에 대한 액세스를 제공합니다.

(다음에서 상속됨 MemberInfo)
GetTypeCodeImpl()

Type 인스턴스의 기본 형식 코드를 반환합니다.

(다음에서 상속됨 Type)
HasElementTypeImpl()

파생 클래스에서 재정의되는 경우 HasElementType 속성을 구현하고 현재 Type 다른 형식을 포함하거나 참조하는지 여부를 결정합니다. 즉, 현재 Type 배열, 포인터 또는 참조로 전달되는지 여부입니다.

HasElementTypeImpl()

파생 클래스에서 재정의되는 경우 HasElementType 속성을 구현하고 현재 Type 다른 형식을 포함하거나 참조하는지 여부를 결정합니다. 즉, 현재 Type 배열, 포인터 또는 참조로 전달되는지 여부입니다.

(다음에서 상속됨 Type)
HasSameMetadataDefinitionAs(MemberInfo)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 MemberInfo)
InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo)

지정된 바인딩 제약 조건을 사용하고 지정된 인수 목록 및 문화권과 일치하는 지정된 멤버를 호출합니다.

(다음에서 상속됨 Type)
InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

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

지정된 바인딩 제약 조건을 사용하고 지정된 인수 목록과 일치하여 지정된 멤버를 호출합니다.

(다음에서 상속됨 Type)
IsArrayImpl()

파생 클래스에서 재정의되는 경우 IsArray 속성을 구현하고 Type 배열인지 여부를 확인합니다.

IsArrayImpl()

파생 클래스에서 재정의되는 경우 IsArray 속성을 구현하고 Type 배열인지 여부를 확인합니다.

(다음에서 상속됨 Type)
IsAssignableFrom(Type)

모든 경우에 NotSupportedException 예외를 throw합니다.

IsAssignableFrom(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsAssignableFrom(TypeInfo)

모든 경우에 NotSupportedException 예외를 throw합니다.

IsAssignableTo(Type)

현재 형식을 지정된 targetType변수에 할당할 수 있는지 여부를 결정합니다.

(다음에서 상속됨 Type)
IsByRefImpl()

파생 클래스에서 재정의되는 경우 IsByRef 속성을 구현하고 Type 참조로 전달되는지 여부를 결정합니다.

IsByRefImpl()

파생 클래스에서 재정의되는 경우 IsByRef 속성을 구현하고 Type 참조로 전달되는지 여부를 결정합니다.

(다음에서 상속됨 Type)
IsCOMObjectImpl()

파생 클래스에서 재정의되는 경우 IsCOMObject 속성을 구현하고 Type COM 개체인지 여부를 확인합니다.

IsCOMObjectImpl()

파생 클래스에서 재정의되는 경우 IsCOMObject 속성을 구현하고 Type COM 개체인지 여부를 확인합니다.

(다음에서 상속됨 Type)
IsContextfulImpl()

IsContextful 속성을 구현하고 Type 컨텍스트에서 호스트할 수 있는지 여부를 결정합니다.

(다음에서 상속됨 Type)
IsDefined(Type, Boolean)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

IsDefined(Type, Boolean)

파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 하나 이상의 특성이 이 멤버에 적용되는지 여부를 나타냅니다.

(다음에서 상속됨 MemberInfo)
IsEnumDefined(Object)

지정된 값이 현재 열거형 형식에 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Type)
IsEnumDefined(Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsEquivalentTo(Type)

두 COM 형식의 ID가 같고 형식 동등성에 적합한지 여부를 결정합니다.

(다음에서 상속됨 Type)
IsEquivalentTo(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsInstanceOfType(Object)

지정된 개체가 현재 Type인스턴스인지 여부를 확인합니다.

(다음에서 상속됨 Type)
IsInstanceOfType(Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

(다음에서 상속됨 TypeInfo)
IsMarshalByRefImpl()

IsMarshalByRef 속성을 구현하고 Type 참조로 마샬링되는지 여부를 결정합니다.

(다음에서 상속됨 Type)
IsPointerImpl()

파생 클래스에서 재정의되는 경우 IsPointer 속성을 구현하고 Type 포인터인지 여부를 확인합니다.

IsPointerImpl()

파생 클래스에서 재정의되는 경우 IsPointer 속성을 구현하고 Type 포인터인지 여부를 확인합니다.

(다음에서 상속됨 Type)
IsPrimitiveImpl()

파생 클래스에서 재정의되는 경우 IsPrimitive 속성을 구현하고 Type 기본 형식 중 하나인지 여부를 확인합니다.

IsPrimitiveImpl()

파생 클래스에서 재정의되는 경우 IsPrimitive 속성을 구현하고 Type 기본 형식 중 하나인지 여부를 확인합니다.

(다음에서 상속됨 Type)
IsSubclassOf(Type)

불완전한 제네릭 형식 매개 변수에는 지원되지 않습니다.

IsValueTypeImpl()

IsValueType 속성을 구현하고 Type 값 형식인지 여부를 확인합니다. 즉, 클래스 또는 인터페이스가 아닙니다.

IsValueTypeImpl()

IsValueType 속성을 구현하고 Type 값 형식인지 여부를 확인합니다. 즉, 클래스 또는 인터페이스가 아닙니다.

(다음에서 상속됨 Type)
MakeArrayType()

요소 형식이 제네릭 형식 매개 변수인 1차원 배열의 형식을 반환합니다.

MakeArrayType(Int32)

지정된 차원 수를 사용하여 요소 형식이 제네릭 형식 매개 변수인 배열의 형식을 반환합니다.

MakeByRefType()

참조 매개 변수로 전달될 때 현재 제네릭 형식 매개 변수를 나타내는 Type 개체를 반환합니다.

MakeGenericType(Type[])

불완전한 제네릭 형식 매개 변수에는 유효하지 않습니다.

MakePointerType()

현재 제네릭 형식 매개 변수에 대한 포인터를 나타내는 Type 개체를 반환합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SetBaseTypeConstraint(Type)

형식 매개 변수를 대체하기 위해 형식이 상속해야 하는 기본 형식을 설정합니다.

SetBaseTypeConstraintCore(Type)

파생 클래스에서 재정의되는 경우 형식 매개 변수를 대체하기 위해 형식이 상속해야 하는 기본 형식을 설정합니다.

SetCustomAttribute(ConstructorInfo, Byte[])

지정된 사용자 지정 특성 Blob을 사용하여 사용자 지정 특성을 설정합니다.

SetCustomAttribute(CustomAttributeBuilder)

사용자 지정 특성 작성기를 사용하여 사용자 지정 특성을 설정합니다.

SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>)

파생 클래스에서 재정의되는 경우 이 어셈블리에서 사용자 지정 특성을 설정합니다.

SetGenericParameterAttributes(GenericParameterAttributes)

매개 변수가 없는 생성자 제약 조건과 같은 제네릭 매개 변수의 분산 특성 및 특수 제약 조건을 설정합니다.

SetGenericParameterAttributesCore(GenericParameterAttributes)

파생 클래스에서 재정의되는 경우 매개 변수가 없는 생성자 제약 조건과 같은 제네릭 매개 변수의 분산 특성 및 특수 제약 조건을 설정합니다.

SetInterfaceConstraints(Type[])

형식 매개 변수를 대체하기 위해 형식이 구현해야 하는 인터페이스를 설정합니다.

SetInterfaceConstraintsCore(Type[])

파생 클래스에서 재정의되는 경우 형식 매개 변수를 대체하기 위해 형식이 구현해야 하는 인터페이스를 설정합니다.

ToString()

현재 제네릭 형식 매개 변수의 문자열 표현을 반환합니다.

명시적 인터페이스 구현

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

이름 집합을 해당 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 MemberInfo)
_MemberInfo.GetType()

MemberInfo 클래스를 나타내는 Type 개체를 가져옵니다.

(다음에서 상속됨 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)
_Type.GetTypeInfo(UInt32, UInt32, IntPtr)

개체의 형식 정보를 검색한 다음 인터페이스의 형식 정보를 가져오는 데 사용할 수 있습니다.

(다음에서 상속됨 Type)
_Type.GetTypeInfoCount(UInt32)

개체가 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Type)
_Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에 의해 노출되는 속성 및 메서드에 대한 액세스를 제공합니다.

(다음에서 상속됨 Type)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

명명된 특성을 제외하고 이 멤버에 정의된 모든 사용자 지정 특성의 배열을 반환하거나 사용자 지정 특성이 없는 경우 빈 배열을 반환합니다.

(다음에서 상속됨 MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

형식으로 식별되는 이 멤버에 정의된 사용자 지정 특성의 배열을 반환하거나, 해당 형식의 사용자 지정 특성이 없는 경우 빈 배열을 반환합니다.

(다음에서 상속됨 MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

이 멤버에 하나 이상의 attributeType 인스턴스가 정의되어 있는지 여부를 나타냅니다.

(다음에서 상속됨 MemberInfo)
IReflectableType.GetTypeInfo()

현재 형식의 표현을 TypeInfo 개체로 반환합니다.

(다음에서 상속됨 TypeInfo)

확장 메서드

GetCustomAttribute(MemberInfo, Type, Boolean)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 필요에 따라 해당 멤버의 상위 항목을 검사합니다.

GetCustomAttribute(MemberInfo, Type)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다.

GetCustomAttribute<T>(MemberInfo, Boolean)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 필요에 따라 해당 멤버의 상위 항목을 검사합니다.

GetCustomAttribute<T>(MemberInfo)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다.

GetCustomAttributes(MemberInfo, Boolean)

지정된 멤버에 적용되는 사용자 지정 특성의 컬렉션을 검색하고 필요에 따라 해당 멤버의 상위 항목을 검사합니다.

GetCustomAttributes(MemberInfo, Type, Boolean)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색하고 필요에 따라 해당 멤버의 상위 항목을 검사합니다.

GetCustomAttributes(MemberInfo, Type)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다.

GetCustomAttributes(MemberInfo)

지정된 멤버에 적용되는 사용자 지정 특성의 컬렉션을 검색합니다.

GetCustomAttributes<T>(MemberInfo, Boolean)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색하고 필요에 따라 해당 멤버의 상위 항목을 검사합니다.

GetCustomAttributes<T>(MemberInfo)

지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다.

IsDefined(MemberInfo, Type, Boolean)

지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는지 여부와 필요에 따라 상위 항목에 적용되는지 여부를 나타냅니다.

IsDefined(MemberInfo, Type)

지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는지 여부를 나타냅니다.

GetTypeInfo(Type)

지정된 형식의 TypeInfo 표현을 반환합니다.

GetMetadataToken(MemberInfo)

사용 가능한 경우 지정된 멤버에 대한 메타데이터 토큰을 가져옵니다.

HasMetadataToken(MemberInfo)

지정된 멤버에 메타데이터 토큰을 사용할 수 있는지 여부를 나타내는 값을 반환합니다.

GetRuntimeEvent(Type, String)

지정된 이벤트를 나타내는 개체를 검색합니다.

GetRuntimeEvents(Type)

지정된 형식에 정의된 모든 이벤트를 나타내는 컬렉션을 검색합니다.

GetRuntimeField(Type, String)

지정된 필드를 나타내는 개체를 검색합니다.

GetRuntimeFields(Type)

지정된 형식에 정의된 모든 필드를 나타내는 컬렉션을 검색합니다.

GetRuntimeInterfaceMap(TypeInfo, Type)

지정된 형식 및 지정된 인터페이스에 대한 인터페이스 매핑을 반환합니다.

GetRuntimeMethod(Type, String, Type[])

지정된 메서드를 나타내는 개체를 검색합니다.

GetRuntimeMethods(Type)

지정된 형식에 정의된 모든 메서드를 나타내는 컬렉션을 검색합니다.

GetRuntimeProperties(Type)

지정된 형식에 정의된 모든 속성을 나타내는 컬렉션을 검색합니다.

GetRuntimeProperty(Type, String)

지정된 속성을 나타내는 개체를 검색합니다.

GetConstructor(Type, Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetConstructors(Type, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetConstructors(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetDefaultMembers(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetEvent(Type, String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetEvent(Type, String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetEvents(Type, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetField(Type, String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetField(Type, String)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetFields(Type, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetFields(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetGenericArguments(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetMember(Type, String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetMethod(Type, String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetMethod(Type, String, Type[])

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetMethods(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetNestedType(Type, String, BindingFlags)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetProperties(Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

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

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

GetProperty(Type, String, Type)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

IsInstanceOfType(Type, Object)

동적으로 정의된 제네릭 형식 및 메서드에 대한 제네릭 형식 매개 변수를 정의하고 만듭니다. 이 클래스는 상속할 수 없습니다.

적용 대상

추가 정보