GenericTypeParameterBuilder GenericTypeParameterBuilder GenericTypeParameterBuilder GenericTypeParameterBuilder Class

定義

動的に定義されたジェネリック型およびジェネリック メソッドのジェネリック型パラメーターを定義および作成します。Defines and creates generic type parameters for dynamically defined generic types and methods. このクラスは継承できません。This class cannot be inherited.

public ref class GenericTypeParameterBuilder sealed : System::Reflection::TypeInfo
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class GenericTypeParameterBuilder : System.Reflection.TypeInfo
type GenericTypeParameterBuilder = class
    inherit TypeInfo
Public NotInheritable Class GenericTypeParameterBuilder
Inherits TypeInfo
継承
GenericTypeParameterBuilderGenericTypeParameterBuilderGenericTypeParameterBuilderGenericTypeParameterBuilder
属性

次のコード例では、2つの型パラメーターを持つジェネリック型を作成し、アセンブリ GenericEmitExample1 に保存します。The following code example creates a generic type with two type parameters, and saves them in the assembly GenericEmitExample1.dll. Ildasm.exe (IL 逆アセンブラー)を使用して、生成された型を表示できます。You can use the Ildasm.exe (IL Disassembler) to view the generated types. 動的ジェネリック型の定義に関連する手順の詳細については、「 方法:リフレクション出力を使用してジェネリック型を定義する」をご覧ください。For a more detailed explanation of the steps involved in defining a dynamic generic type, see How to: Define a Generic Type with Reflection Emit.

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

注釈

オブジェクトのGenericTypeParameterBuilder配列を取得するには、 TypeBuilder.DefineGenericParametersメソッドを使用して動的な型に型パラメーターを追加し、それをジェネリック型にしますMethodBuilder.DefineGenericParameters 。または、メソッドを使用して型パラメーターを動的メソッドに追加します。You can get an array of GenericTypeParameterBuilder objects by using the TypeBuilder.DefineGenericParameters method to add type parameters to a dynamic type, thus making it a generic type, or by using the MethodBuilder.DefineGenericParameters method to add type parameters to a dynamic method. GenericTypeParameterBuilderオブジェクトを使用して、型パラメーターに制約を追加します。Use the GenericTypeParameterBuilder objects to add constraints to the type parameters. 制約には次の3つの種類があります。Constraints are of three kinds:

  • 基本型の制約は、ジェネリック型パラメーターに割り当てられたすべての型が特定の基本型から派生する必要があることを指定します。The base type constraint specifies that any type assigned to the generic type parameter must derive from a particular base type. この制約は、 SetBaseTypeConstraintメソッドを使用して設定します。Set this constraint by using the SetBaseTypeConstraint method.

  • インターフェイス制約は、ジェネリック型パラメーターに割り当てられたすべての型が特定のインターフェイスを実装する必要があることを指定します。An interface constraint specifies that any type assigned to the generic type parameter must implement a particular interface. SetInterfaceConstraintsメソッドを使用して、インターフェイスの制約を設定します。Set the interface constraints by using the SetInterfaceConstraints method.

  • 特殊な制約は、ジェネリック型パラメーターに割り当てられたすべての型がパラメーターなしのコンストラクターを持つ必要があるか、参照型である必要があるか、または値型である必要があることを指定します。Special constraints specify that any type assigned to the generic type parameter must have a parameterless constructor, must be a reference type, or must be a value type. SetGenericParameterAttributesメソッドを使用して、型パラメーターの特殊な制約を設定します。Set the special constraints for a type parameter by using the SetGenericParameterAttributes method.

インターフェイスの制約と特殊な制約は、 GenericTypeParameterBuilderクラスのメソッドを使用して取得することはできません。Interface constraints and special constraints cannot be retrieved using methods of the GenericTypeParameterBuilder class. 型パラメーターを含むジェネリック型を作成したら、そのTypeオブジェクトを使用して制約を反映できます。Once you have created the generic type that contains the type parameters, you can use its Type object to reflect the constraints. メソッドを使用して型パラメーターを取得し、型パラメーターごとに、 Type.GetGenericParameterConstraintsメソッドを使用して基本型の制約とType.GenericParameterAttributesインターフェイスの制約を取得し、プロパティを使用して特殊な制約を取得します。 Type.GetGenericArgumentsUse the Type.GetGenericArguments method to get the type parameters, and for each type parameter use the Type.GetGenericParameterConstraints method to get the base type constraint and interface constraints, and the Type.GenericParameterAttributes property to get the special constraints.

プロパティ

Assembly Assembly Assembly Assembly

現在の型パラメーターが属するジェネリック型の定義を格納する動的アセンブリを表す Assembly オブジェクトを取得します。Gets an Assembly object representing the dynamic assembly that contains the generic type definition the current type parameter belongs to.

AssemblyQualifiedName AssemblyQualifiedName AssemblyQualifiedName AssemblyQualifiedName

常に null を取得します。Gets null in all cases.

Attributes Attributes Attributes Attributes
BaseType BaseType BaseType BaseType

現在のジェネリック型パラメーターの基本型の制約を取得します。Gets the base type constraint of the current generic type parameter.

ContainsGenericParameters ContainsGenericParameters ContainsGenericParameters ContainsGenericParameters

常に true を取得します。Gets true in all cases.

CustomAttributes CustomAttributes CustomAttributes CustomAttributes

このメンバーのカスタム属性を含むコレクションを取得します。Gets a collection that contains this member's custom attributes.

(Inherited from MemberInfo)
DeclaringMethod DeclaringMethod DeclaringMethod DeclaringMethod

現在の MethodInfo がジェネリック メソッドの型パラメーターを表している場合に、宣言するメソッドを表す GenericTypeParameterBuilder を取得します。Gets a MethodInfo that represents the declaring method, if the current GenericTypeParameterBuilder represents a type parameter of a generic method.

DeclaringType DeclaringType DeclaringType DeclaringType

ジェネリック型パラメーターが属するジェネリック型の定義、またはジェネリック メソッドの定義を取得します。Gets the generic type definition or generic method definition to which the generic type parameter belongs.

FullName FullName FullName FullName

常に null を取得します。Gets null in all cases.

GenericParameterAttributes GenericParameterAttributes GenericParameterAttributes GenericParameterAttributes

現在のジェネリック型パラメーターの共変性および特殊な制約を説明する GenericParameterAttributes フラグの組み合わせを取得します。Gets a combination of GenericParameterAttributes flags that describe the covariance and special constraints of the current generic type parameter.

GenericParameterPosition GenericParameterPosition GenericParameterPosition GenericParameterPosition

パラメーターを宣言したジェネリック型またはジェネリック メソッドの型パラメーター リスト内の型パラメーターの位置を取得します。Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter.

GenericTypeArguments GenericTypeArguments GenericTypeArguments GenericTypeArguments
GUID GUID GUID GUID

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

HasElementType HasElementType HasElementType HasElementType

現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列、ポインター、または参照渡しかどうかを示す値を取得します。Gets a value indicating whether the current Type encompasses or refers to another type; that is, whether the current Type is an array, a pointer, or is passed by reference.

(Inherited from Type)
IsAbstract IsAbstract IsAbstract IsAbstract

Type が抽象型で、オーバーライドする必要があるかどうかを示す値を取得します。Gets a value indicating whether the Type is abstract and must be overridden.

(Inherited from Type)
IsAnsiClass IsAnsiClass IsAnsiClass IsAnsiClass

AnsiClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。Gets a value indicating whether the string format attribute AnsiClass is selected for the Type.

(Inherited from Type)
IsArray IsArray IsArray IsArray

型が配列かどうかを示す値を返します。Gets a value that indicates whether the type is an array.

(Inherited from Type)
IsAutoClass IsAutoClass IsAutoClass IsAutoClass

AutoClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。Gets a value indicating whether the string format attribute AutoClass is selected for the Type.

(Inherited from Type)
IsAutoLayout IsAutoLayout IsAutoLayout IsAutoLayout

現在の型のフィールドが、共通言語ランタイムによって自動的に配置されているかどうかを示す値を取得します。Gets a value indicating whether the fields of the current type are laid out automatically by the common language runtime.

(Inherited from Type)
IsByRef IsByRef IsByRef IsByRef

Type が参照渡しかどうかを示す値を取得します。Gets a value indicating whether the Type is passed by reference.

(Inherited from Type)
IsByRefLike IsByRefLike IsByRefLike IsByRefLike
IsClass IsClass IsClass IsClass

Type がクラスまたはデリゲートである (つまり値型やインターフェイスではない) かどうかを示す値を取得します。Gets a value indicating whether the Type is a class or a delegate; that is, not a value type or interface.

(Inherited from Type)
IsCollectible IsCollectible IsCollectible IsCollectible

この MemberInfo オブジェクトが、収集可能な AssemblyLoadContext に保持されているアセンブリの一部であるかどうかを示す値を取得します。Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Inherited from MemberInfo)
IsCOMObject IsCOMObject IsCOMObject IsCOMObject

Type が COM オブジェクトかどうかを示す値を取得します。Gets a value indicating whether the Type is a COM object.

(Inherited from Type)
IsConstructedGenericType IsConstructedGenericType IsConstructedGenericType IsConstructedGenericType

このオブジェクトが構築ジェネリック型かどうかを示す値を取得します。Gets a value that indicates whether this object represents a constructed generic type.

IsContextful IsContextful IsContextful IsContextful

Type をコンテキスト内で管理できるかどうかを示す値を取得します。Gets a value indicating whether the Type can be hosted in a context.

(Inherited from Type)
IsEnum IsEnum IsEnum IsEnum
IsExplicitLayout IsExplicitLayout IsExplicitLayout IsExplicitLayout

現在の型のフィールドが、明示的に指定したオフセット位置に配置されているかどうかを示す値を取得します。Gets a value indicating whether the fields of the current type are laid out at explicitly specified offsets.

(Inherited from Type)
IsGenericMethodParameter IsGenericMethodParameter IsGenericMethodParameter IsGenericMethodParameter Inherited from Type
IsGenericParameter IsGenericParameter IsGenericParameter IsGenericParameter

常に true を取得します。Gets true in all cases.

IsGenericType IsGenericType IsGenericType IsGenericType

常に false を返します。Returns false in all cases.

IsGenericTypeDefinition IsGenericTypeDefinition IsGenericTypeDefinition IsGenericTypeDefinition

常に false を取得します。Gets false in all cases.

IsGenericTypeParameter IsGenericTypeParameter IsGenericTypeParameter IsGenericTypeParameter Inherited from Type
IsImport IsImport IsImport IsImport

TypeComImportAttribute 属性が適用されているかどうかを示す (つまり、COM タイプ ライブラリからインポートされたかどうかを示す) 値を取得します。Gets a value indicating whether the Type has a ComImportAttribute attribute applied, indicating that it was imported from a COM type library.

(Inherited from Type)
IsInterface IsInterface IsInterface IsInterface

Type がインターフェイスである (つまり値型やクラスではない) ことを示す値を取得します。Gets a value indicating whether the Type is an interface; that is, not a class or a value type.

(Inherited from Type)
IsLayoutSequential IsLayoutSequential IsLayoutSequential IsLayoutSequential

現在の型のフィールドが、定義済みまたはメタデータに対して出力された順序で、連続して配置されているかどうかを示す値を取得します。Gets a value indicating whether the fields of the current type are laid out sequentially, in the order that they were defined or emitted to the metadata.

(Inherited from Type)
IsMarshalByRef IsMarshalByRef IsMarshalByRef IsMarshalByRef

Type が参照渡しでマーシャリングされるかどうかを示す値を取得します。Gets a value indicating whether the Type is marshaled by reference.

(Inherited from Type)
IsNested IsNested IsNested IsNested

現在の Type オブジェクトが、別の型の定義内に入れ子になっている定義で定義された型を表しているかどうかを示す値を取得します。Gets a value indicating whether the current Type object represents a type whose definition is nested inside the definition of another type.

(Inherited from Type)
IsNestedAssembly IsNestedAssembly IsNestedAssembly IsNestedAssembly

Type が入れ子になっていて、それ自体が属するアセンブリ内でだけ参照可能かどうかを示す値を取得します。Gets a value indicating whether the Type is nested and visible only within its own assembly.

(Inherited from Type)
IsNestedFamANDAssem IsNestedFamANDAssem IsNestedFamANDAssem IsNestedFamANDAssem

Type が入れ子になっていて、それ自体が属するファミリとアセンブリの両方に属しているクラスだけから参照可能かどうかを示す値を取得します。Gets a value indicating whether the Type is nested and visible only to classes that belong to both its own family and its own assembly.

(Inherited from Type)
IsNestedFamily IsNestedFamily IsNestedFamily IsNestedFamily

Type が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。Gets a value indicating whether the Type is nested and visible only within its own family.

(Inherited from Type)
IsNestedFamORAssem IsNestedFamORAssem IsNestedFamORAssem IsNestedFamORAssem

Type が入れ子になっていて、それ自体が属するファミリまたはアセンブリのいずれかに属しているクラスだけから参照可能かどうかを示す値を取得します。Gets a value indicating whether the Type is nested and visible only to classes that belong to either its own family or to its own assembly.

(Inherited from Type)
IsNestedPrivate IsNestedPrivate IsNestedPrivate IsNestedPrivate

Type が入れ子になっていて、プライベートとして宣言されているかどうかを示す値を取得します。Gets a value indicating whether the Type is nested and declared private.

(Inherited from Type)
IsNestedPublic IsNestedPublic IsNestedPublic IsNestedPublic

クラスが入れ子になっていて、パブリックとして宣言されているかどうかを示す値を取得します。Gets a value indicating whether a class is nested and declared public.

(Inherited from Type)
IsNotPublic IsNotPublic IsNotPublic IsNotPublic

Type がパブリックとして宣言されていないかどうかを示す値を取得します。Gets a value indicating whether the Type is not declared public.

(Inherited from Type)
IsPointer IsPointer IsPointer IsPointer

Type がポインターかどうかを示す値を取得します。Gets a value indicating whether the Type is a pointer.

(Inherited from Type)
IsPrimitive IsPrimitive IsPrimitive IsPrimitive

Type がプリミティブ型の 1 つかどうかを示す値を取得します。Gets a value indicating whether the Type is one of the primitive types.

(Inherited from Type)
IsPublic IsPublic IsPublic IsPublic

Type がパブリックとして宣言されているかどうかを示す値を取得します。Gets a value indicating whether the Type is declared public.

(Inherited from Type)
IsSealed IsSealed IsSealed IsSealed

Type が sealed として宣言されているかどうかを示す値を取得します。Gets a value indicating whether the Type is declared sealed.

(Inherited from Type)
IsSecurityCritical IsSecurityCritical IsSecurityCritical IsSecurityCritical

現在の型が現在の信頼レベルでセキュリティ クリティカルまたはセキュリティ セーフ クリティカルであり、重要な操作を実行できるかどうかを示す値を取得します。Gets a value that indicates whether the current type is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations.

(Inherited from Type)
IsSecuritySafeCritical IsSecuritySafeCritical IsSecuritySafeCritical IsSecuritySafeCritical

現在の型が現在の信頼レベルでセキュリティ セーフ クリティカルであり、重要な操作を実行でき、透過的なコードからアクセスできるかどうかを示す値を取得します。Gets a value that indicates whether the current type is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code.

(Inherited from Type)
IsSecurityTransparent IsSecurityTransparent IsSecurityTransparent IsSecurityTransparent

現在の型が現在の信頼レベルで透過的であり、重要な操作を実行できないかどうかを示す値を取得します。Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations.

(Inherited from Type)
IsSerializable IsSerializable IsSerializable IsSerializable
IsSignatureType IsSignatureType IsSignatureType IsSignatureType Inherited from Type
IsSpecialName IsSpecialName IsSpecialName IsSpecialName

型が特別な処理を必要とする名前を持っているかどうかを示す値を取得します。Gets a value indicating whether the type has a name that requires special handling.

(Inherited from Type)
IsSZArray IsSZArray IsSZArray IsSZArray
IsTypeDefinition IsTypeDefinition IsTypeDefinition IsTypeDefinition
IsUnicodeClass IsUnicodeClass IsUnicodeClass IsUnicodeClass

UnicodeClass に、文字列書式属性として Type が選択されているかどうかを示す値を取得します。Gets a value indicating whether the string format attribute UnicodeClass is selected for the Type.

(Inherited from Type)
IsValueType IsValueType IsValueType IsValueType

Type が値型かどうかを示す値を取得します。Gets a value indicating whether the Type is a value type.

(Inherited from Type)
IsVariableBoundArray IsVariableBoundArray IsVariableBoundArray IsVariableBoundArray
IsVisible IsVisible IsVisible IsVisible

Type にアセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。Gets a value indicating whether the Type can be accessed by code outside the assembly.

(Inherited from Type)
MemberType MemberType MemberType MemberType

このメンバーが型であるか、または入れ子にされた型であるかを示す MemberTypes 値を取得します。Gets a MemberTypes value indicating that this member is a type or a nested type.

(Inherited from Type)
MetadataToken MetadataToken MetadataToken MetadataToken

メタデータ要素を識別する値を取得します。Gets a value that identifies a metadata element.

(Inherited from MemberInfo)
Module Module Module Module

ジェネリック型パラメーターを格納する動的モジュールを取得します。Gets the dynamic module that contains the generic type parameter.

Name Name Name Name

ジェネリック型パラメーターの名前を取得します。Gets the name of the generic type parameter.

Namespace Namespace Namespace Namespace

常に null を取得します。Gets null in all cases.

ReflectedType ReflectedType ReflectedType ReflectedType

Type を取得するために使用した GenericTypeParameterBuilder オブジェクトを取得します。Gets the Type object that was used to obtain the GenericTypeParameterBuilder.

StructLayoutAttribute StructLayoutAttribute StructLayoutAttribute StructLayoutAttribute

現在の型のレイアウトを説明する StructLayoutAttribute を取得します。Gets a StructLayoutAttribute that describes the layout of the current type.

(Inherited from Type)
TypeHandle TypeHandle TypeHandle TypeHandle

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

TypeInitializer TypeInitializer TypeInitializer TypeInitializer

型の初期化子を取得します。Gets the initializer for the type.

(Inherited from Type)
UnderlyingSystemType UnderlyingSystemType UnderlyingSystemType UnderlyingSystemType

現在のジェネリック型パラメーターを取得します。Gets the current generic type parameter.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定されたオブジェクトが EventToken のインスタンスであり、現在のインスタンスと等しいかどうかをテストします。Tests whether the given object is an instance of EventToken and is equal to the current instance.

Equals(Type) Equals(Type) Equals(Type) Equals(Type)

現在の Type の基になるシステム型が、指定した Type の基になるシステム型と同じかどうかを判断します。Determines if the underlying system type of the current Type is the same as the underlying system type of the specified Type.

(Inherited from Type)
FindInterfaces(TypeFilter, Object) FindInterfaces(TypeFilter, Object) FindInterfaces(TypeFilter, Object) FindInterfaces(TypeFilter, Object)

現在の Type によって実装または継承されているインターフェイスのフィルター適用済みリストを表す、Type オブジェクトの配列を返します。Returns an array of Type objects representing a filtered list of interfaces implemented or inherited by the current Type.

(Inherited from Type)
FindMembers(MemberTypes, BindingFlags, MemberFilter, Object) FindMembers(MemberTypes, BindingFlags, MemberFilter, Object) FindMembers(MemberTypes, BindingFlags, MemberFilter, Object) FindMembers(MemberTypes, BindingFlags, MemberFilter, Object)

指定したメンバー型の MemberInfo オブジェクトの配列にフィルターを適用して返します。Returns a filtered array of MemberInfo objects of the specified member type.

(Inherited from Type)
GetArrayRank() GetArrayRank() GetArrayRank() GetArrayRank()
GetAttributeFlagsImpl() GetAttributeFlagsImpl() GetAttributeFlagsImpl() GetAttributeFlagsImpl()

派生クラスでオーバーライドされた場合、Attributes プロパティを実装し、Type に関連付けられている属性を示す列挙値のビットごとの組み合わせを取得します。When overridden in a derived class, implements the Attributes property and gets a bitwise combination of enumeration values that indicate the attributes associated with the Type.

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

指定したバインディング制約および指定した呼び出し規則を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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

指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetConstructor(Type[]) GetConstructor(Type[]) GetConstructor(Type[]) GetConstructor(Type[])

指定した配列の型に一致するパラメーターが設定されているパブリック インスタンス コンストラクターを検索します。Searches for a public instance constructor whose parameters match the types in the specified array.

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

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。When overridden in a derived class, searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

(Inherited from Type)
GetConstructors() GetConstructors() GetConstructors() GetConstructors()

現在の Type に対して定義されているパブリック コンストラクターをすべて返します。Returns all the public constructors defined for the current Type.

(Inherited from Type)
GetConstructors(BindingFlags) GetConstructors(BindingFlags) GetConstructors(BindingFlags) GetConstructors(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetCustomAttributesData() GetCustomAttributesData() GetCustomAttributesData() GetCustomAttributesData()

ターゲット メンバーに適用されている属性に関するデータを表す CustomAttributeData オブジェクトのリストを返します。Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.

(Inherited from MemberInfo)
GetDefaultMembers() GetDefaultMembers() GetDefaultMembers() GetDefaultMembers()

Type が設定されている現在の DefaultMemberAttribute に定義されているメンバーを検索します。Searches for the members defined for the current Type whose DefaultMemberAttribute is set.

(Inherited from Type)
GetElementType() GetElementType() GetElementType() GetElementType()

常に NotSupportedException をスローします。Throws a NotSupportedException in all cases.

GetEnumName(Object) GetEnumName(Object) GetEnumName(Object) GetEnumName(Object)

現在の列挙型の指定された値を持つ定数の名前を返します。Returns the name of the constant that has the specified value, for the current enumeration type.

(Inherited from Type)
GetEnumNames() GetEnumNames() GetEnumNames() GetEnumNames()

現在の列挙型のメンバーの名前を返します。Returns the names of the members of the current enumeration type.

(Inherited from Type)
GetEnumUnderlyingType() GetEnumUnderlyingType() GetEnumUnderlyingType() GetEnumUnderlyingType()

現在の列挙型の基になる型を返します。Returns the underlying type of the current enumeration type.

(Inherited from Type)
GetEnumValues() GetEnumValues() GetEnumValues() GetEnumValues()

現在の列挙型の定数の値の配列を返します。Returns an array of the values of the constants in the current enumeration type.

(Inherited from Type)
GetEvent(String) GetEvent(String) GetEvent(String) GetEvent(String)

指定したパブリック イベントを表す EventInfo オブジェクトを返します。Returns the EventInfo object representing the specified public event.

(Inherited from Type)
GetEvent(String, BindingFlags) GetEvent(String, BindingFlags) GetEvent(String, BindingFlags) GetEvent(String, BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetEvents() GetEvents() GetEvents() GetEvents()

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetEvents(BindingFlags) GetEvents(BindingFlags) GetEvents(BindingFlags) GetEvents(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetField(String) GetField(String) GetField(String) GetField(String)

指定した名前のパブリック フィールドを検索します。Searches for the public field with the specified name.

(Inherited from Type)
GetField(String, BindingFlags) GetField(String, BindingFlags) GetField(String, BindingFlags) GetField(String, BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetFields() GetFields() GetFields() GetFields()

現在の Type のすべてのパブリック フィールドを返します。Returns all the public fields of the current Type.

(Inherited from Type)
GetFields(BindingFlags) GetFields(BindingFlags) GetFields(BindingFlags) GetFields(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetGenericArguments() GetGenericArguments() GetGenericArguments() GetGenericArguments()

ジェネリック型パラメーターには有効ではありません。Not valid for generic type parameters.

GetGenericParameterConstraints() GetGenericParameterConstraints() GetGenericParameterConstraints() GetGenericParameterConstraints()
GetGenericTypeDefinition() GetGenericTypeDefinition() GetGenericTypeDefinition() GetGenericTypeDefinition()

ジェネリック型パラメーターには有効ではありません。Not valid for generic type parameters.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

現在のインスタンスの 32 ビット整数ハッシュ コードを返します。Returns a 32-bit integer hash code for the current instance.

GetInterface(String) GetInterface(String) GetInterface(String) GetInterface(String)

指定した名前のインターフェイスを検索します。Searches for the interface with the specified name.

(Inherited from Type)
GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetInterfaceMap(Type) GetInterfaceMap(Type) GetInterfaceMap(Type) GetInterfaceMap(Type)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetInterfaces() GetInterfaces() GetInterfaces() GetInterfaces()

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetMember(String) GetMember(String) GetMember(String) GetMember(String)

指定した名前のパブリック メンバーを検索します。Searches for the public members with the specified name.

(Inherited from Type)
GetMember(String, BindingFlags) GetMember(String, BindingFlags) GetMember(String, BindingFlags) GetMember(String, BindingFlags)

指定したバインディング制約を使用して、指定したメンバーを検索します。Searches for the specified members, using the specified binding constraints.

(Inherited from Type)
GetMember(String, MemberTypes, BindingFlags) GetMember(String, MemberTypes, BindingFlags) GetMember(String, MemberTypes, BindingFlags) GetMember(String, MemberTypes, BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetMembers() GetMembers() GetMembers() GetMembers()

現在の Type のすべてのパブリック メンバーを返します。Returns all the public members of the current Type.

(Inherited from Type)
GetMembers(BindingFlags) GetMembers(BindingFlags) GetMembers(BindingFlags) GetMembers(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetMethod(String) GetMethod(String) GetMethod(String) GetMethod(String)

指定した名前のパブリック メソッドを検索します。Searches for the public method with the specified name.

(Inherited from Type)
GetMethod(String, BindingFlags) GetMethod(String, BindingFlags) GetMethod(String, BindingFlags) GetMethod(String, BindingFlags)

指定したバインディング制約を使用して、指定したメソッドを検索します。Searches for the specified method, using the specified binding constraints.

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

指定したバインディング制約および指定した呼び出し規約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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

指定したバインディング制約を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints.

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

指定したパブリック メソッドのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。Searches for the specified public method whose parameters match the specified argument types.

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

指定したパブリック メソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。Searches for the specified public method whose parameters match the specified argument types and modifiers.

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

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規則を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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

現在の Type のすべてのパブリック メソッドを返します。Returns all the public methods of the current Type.

(Inherited from Type)
GetMethods(BindingFlags) GetMethods(BindingFlags) GetMethods(BindingFlags) GetMethods(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetNestedType(String) GetNestedType(String) GetNestedType(String) GetNestedType(String)

指定した名前を持ち、入れ子にされたパブリックな型を検索します。Searches for the public nested type with the specified name.

(Inherited from Type)
GetNestedType(String, BindingFlags) GetNestedType(String, BindingFlags) GetNestedType(String, BindingFlags) GetNestedType(String, BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetNestedTypes() GetNestedTypes() GetNestedTypes() GetNestedTypes()

現在の Type 内で入れ子になっているすべてのパブリック型を返します。Returns the public types nested in the current Type.

(Inherited from Type)
GetNestedTypes(BindingFlags) GetNestedTypes(BindingFlags) GetNestedTypes(BindingFlags) GetNestedTypes(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetProperties() GetProperties() GetProperties() GetProperties()

現在の Type のすべてのパブリック プロパティを返します。Returns all the public properties of the current Type.

(Inherited from Type)
GetProperties(BindingFlags) GetProperties(BindingFlags) GetProperties(BindingFlags) GetProperties(BindingFlags)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

GetProperty(String) GetProperty(String) GetProperty(String) GetProperty(String)

指定した名前のパブリック プロパティを検索します。Searches for the public property with the specified name.

(Inherited from Type)
GetProperty(String, BindingFlags) GetProperty(String, BindingFlags) GetProperty(String, BindingFlags) GetProperty(String, BindingFlags)

指定されたバインディング制約を使用して、指定されたプロパティを検索します。Searches for the specified property, using the specified binding constraints.

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

指定したバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定された指定のプロパティを検索します。Searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetProperty(String, Type) GetProperty(String, Type) GetProperty(String, Type) GetProperty(String, Type)

指定した名前および戻り値の型を持つパブリック プロパティを検索します。Searches for the public property with the specified name and return type.

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

指定したパブリック プロパティのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。Searches for the specified public property whose parameters match the specified argument types.

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

指定したパブリック プロパティのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。Searches for the specified public property whose parameters match the specified argument types and modifiers.

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

指定したパブリック プロパティのうち、指定した引数型と一致するパラメーターが設定されているものを検索します。Searches for the specified public property whose parameters match the specified argument types.

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

派生クラスによってオーバーライドされるときに、指定のバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されたプロパティを検索します。When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetType() GetType() GetType() GetType()

現在の Type を取得します。Gets the current Type.

(Inherited from Type)
GetTypeCodeImpl() GetTypeCodeImpl() GetTypeCodeImpl() GetTypeCodeImpl()

この Type インスタンスの基になる型コードを返します。Returns the underlying type code of this Type instance.

(Inherited from Type)
HasElementTypeImpl() HasElementTypeImpl() HasElementTypeImpl() HasElementTypeImpl()

派生クラスによってオーバーライドされた場合、HasElementType プロパティを実装し、現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列やポインターであるか、参照渡しかどうかを判断します。When overridden in a derived class, implements the HasElementType property and determines whether the current Type encompasses or refers to another type; that is, whether the current Type is an array, a pointer, or is passed by reference.

(Inherited from Type)
HasSameMetadataDefinitionAs(MemberInfo) HasSameMetadataDefinitionAs(MemberInfo) HasSameMetadataDefinitionAs(MemberInfo) HasSameMetadataDefinitionAs(MemberInfo) Inherited from MemberInfo
InvokeMember(String, BindingFlags, Binder, Object, Object[]) InvokeMember(String, BindingFlags, Binder, Object, Object[]) InvokeMember(String, BindingFlags, Binder, Object, Object[]) InvokeMember(String, BindingFlags, Binder, Object, Object[])

指定したバインディング制約を使用し、指定した引数リストと照合して、指定したメンバーを呼び出します。Invokes the specified member, using the specified binding constraints and matching the specified argument list.

(Inherited from Type)
InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo) InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo) InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo) InvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo)

指定したバインディング制約を使用し、指定したメンバーのうち、指定した引数リストおよびカルチャと一致するメンバーを呼び出します。Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture.

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

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

IsArrayImpl() IsArrayImpl() IsArrayImpl() IsArrayImpl()

派生クラスによってオーバーライドされるときに、IsArray プロパティを実装し、Type が配列かどうかを判断します。When overridden in a derived class, implements the IsArray property and determines whether the Type is an array.

(Inherited from Type)
IsAssignableFrom(Type) IsAssignableFrom(Type) IsAssignableFrom(Type) IsAssignableFrom(Type)

常に NotSupportedException 例外をスローします。Throws a NotSupportedException exception in all cases.

IsAssignableFrom(TypeInfo) IsAssignableFrom(TypeInfo) IsAssignableFrom(TypeInfo) IsAssignableFrom(TypeInfo)

常に NotSupportedException 例外をスローします。Throws a NotSupportedException exception in all cases.

IsByRefImpl() IsByRefImpl() IsByRefImpl() IsByRefImpl()

派生クラスによってオーバーライドされるときに、IsByRef プロパティを実装し、Type が参照渡しかどうかを判断します。When overridden in a derived class, implements the IsByRef property and determines whether the Type is passed by reference.

(Inherited from Type)
IsCOMObjectImpl() IsCOMObjectImpl() IsCOMObjectImpl() IsCOMObjectImpl()

派生クラスによってオーバーライドされるときに、IsCOMObject プロパティを実装し、Type が COM オブジェクトかどうかを判断します。When overridden in a derived class, implements the IsCOMObject property and determines whether the Type is a COM object.

(Inherited from Type)
IsContextfulImpl() IsContextfulImpl() IsContextfulImpl() IsContextfulImpl()

IsContextful プロパティを実装し、Type をコンテキスト内で管理できるかどうかを判断します。Implements the IsContextful property and determines whether the Type can be hosted in a context.

(Inherited from Type)
IsDefined(Type, Boolean) IsDefined(Type, Boolean) IsDefined(Type, Boolean) IsDefined(Type, Boolean)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

IsEnumDefined(Object) IsEnumDefined(Object) IsEnumDefined(Object) IsEnumDefined(Object)

指定された値が現在の列挙型に存在するかどうかを示す値を返します。Returns a value that indicates whether the specified value exists in the current enumeration type.

(Inherited from Type)
IsEquivalentTo(Type) IsEquivalentTo(Type) IsEquivalentTo(Type) IsEquivalentTo(Type)

2 つの COM 型が同じ ID を持ち、型の同値の対象になるかどうかを判断します。Determines whether two COM types have the same identity and are eligible for type equivalence.

(Inherited from Type)
IsInstanceOfType(Object) IsInstanceOfType(Object) IsInstanceOfType(Object) IsInstanceOfType(Object)
IsMarshalByRefImpl() IsMarshalByRefImpl() IsMarshalByRefImpl() IsMarshalByRefImpl()

IsMarshalByRef プロパティを実装し、Type が参照渡しでマーシャリングされるかどうかを判断します。Implements the IsMarshalByRef property and determines whether the Type is marshaled by reference.

(Inherited from Type)
IsPointerImpl() IsPointerImpl() IsPointerImpl() IsPointerImpl()

派生クラスによってオーバーライドされるときに、IsPointer プロパティを実装し、Type がポインターかどうかを判断します。When overridden in a derived class, implements the IsPointer property and determines whether the Type is a pointer.

(Inherited from Type)
IsPrimitiveImpl() IsPrimitiveImpl() IsPrimitiveImpl() IsPrimitiveImpl()

派生クラスによってオーバーライドされるときに、IsPrimitive プロパティを実装し、Type がプリミティブ型の 1 つかどうかを判断します。When overridden in a derived class, implements the IsPrimitive property and determines whether the Type is one of the primitive types.

(Inherited from Type)
IsSubclassOf(Type) IsSubclassOf(Type) IsSubclassOf(Type) IsSubclassOf(Type)

不完全なジェネリック型パラメーターではサポートされていません。Not supported for incomplete generic type parameters.

IsValueTypeImpl() IsValueTypeImpl() IsValueTypeImpl() IsValueTypeImpl()

IsValueType プロパティを実装するとともに、Type が値型である (つまり、クラスやインターフェイスでない) かどうかを判断します。Implements the IsValueType property and determines whether the Type is a value type; that is, not a class or an interface.

(Inherited from Type)
MakeArrayType() MakeArrayType() MakeArrayType() MakeArrayType()

要素型がジェネリック型パラメーターである 1 次元配列の型を返します。Returns the type of a one-dimensional array whose element type is the generic type parameter.

MakeArrayType(Int32) MakeArrayType(Int32) MakeArrayType(Int32) MakeArrayType(Int32)

指定した次元数を持つ、要素型がジェネリック型パラメーターである配列の型を返します。Returns the type of an array whose element type is the generic type parameter, with the specified number of dimensions.

MakeByRefType() MakeByRefType() MakeByRefType() MakeByRefType()

参照パラメーターとして渡されるときに、現在のジェネリック型パラメーターを表す Type オブジェクトを返します。Returns a Type object that represents the current generic type parameter when passed as a reference parameter.

MakeGenericType(Type[]) MakeGenericType(Type[]) MakeGenericType(Type[]) MakeGenericType(Type[])

不完全なジェネリック型パラメーターには有効ではありません。Not valid for incomplete generic type parameters.

MakePointerType() MakePointerType() MakePointerType() MakePointerType()

現在のジェネリック型パラメーターへのポインターを表す Type オブジェクトを返します。Returns a Type object that represents a pointer to the current generic type parameter.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
SetBaseTypeConstraint(Type) SetBaseTypeConstraint(Type) SetBaseTypeConstraint(Type) SetBaseTypeConstraint(Type)

型パラメーターを置き換えるために、型が継承する必要のある基本型を設定します。Sets the base type that a type must inherit in order to be substituted for the type parameter.

SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[])

指定されたカスタム属性の blob を使用して、カスタム属性を設定します。Sets a custom attribute using a specified custom attribute blob.

SetCustomAttribute(CustomAttributeBuilder) SetCustomAttribute(CustomAttributeBuilder) SetCustomAttribute(CustomAttributeBuilder) SetCustomAttribute(CustomAttributeBuilder)

カスタム属性ビルダーを使用して、カスタム属性を設定します。Set a custom attribute using a custom attribute builder.

SetGenericParameterAttributes(GenericParameterAttributes) SetGenericParameterAttributes(GenericParameterAttributes) SetGenericParameterAttributes(GenericParameterAttributes) SetGenericParameterAttributes(GenericParameterAttributes)

パラメーターなしのコンストラクターの制約など、ジェネリック パラメーターの分散特性と特殊な制約を設定します。Sets the variance characteristics and special constraints of the generic parameter, such as the parameterless constructor constraint.

SetInterfaceConstraints(Type[]) SetInterfaceConstraints(Type[]) SetInterfaceConstraints(Type[]) SetInterfaceConstraints(Type[])

型パラメーターを置き換えるために、型が実装する必要のあるインターフェイスを設定します。Sets the interfaces a type must implement in order to be substituted for the type parameter.

ToString() ToString() ToString() ToString()

現在のジェネリック型パラメーターの文字列形式を返します。Returns a string representation of the current generic type parameter.

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

ICustomAttributeProvider.GetCustomAttributes(Boolean) ICustomAttributeProvider.GetCustomAttributes(Boolean) ICustomAttributeProvider.GetCustomAttributes(Boolean) ICustomAttributeProvider.GetCustomAttributes(Boolean) Inherited from MemberInfo
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) Inherited from MemberInfo
ICustomAttributeProvider.IsDefined(Type, Boolean) ICustomAttributeProvider.IsDefined(Type, Boolean) ICustomAttributeProvider.IsDefined(Type, Boolean) ICustomAttributeProvider.IsDefined(Type, Boolean) Inherited from MemberInfo
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from MemberInfo)
_MemberInfo.GetType() _MemberInfo.GetType() _MemberInfo.GetType() _MemberInfo.GetType()

Type クラスを表す MemberInfo オブジェクトを取得します。Gets a Type object representing the MemberInfo class.

(Inherited from MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Inherited from MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32) _MemberInfo.GetTypeInfoCount(UInt32) _MemberInfo.GetTypeInfoCount(UInt32) _MemberInfo.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from MemberInfo)
_Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Type)
_Type.GetTypeInfo(UInt32, UInt32, IntPtr) _Type.GetTypeInfo(UInt32, UInt32, IntPtr) _Type.GetTypeInfo(UInt32, UInt32, IntPtr) _Type.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Inherited from Type)
_Type.GetTypeInfoCount(UInt32) _Type.GetTypeInfoCount(UInt32) _Type.GetTypeInfoCount(UInt32) _Type.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Type)
_Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from Type)

拡張メソッド

GetCustomAttribute(MemberInfo, Type) GetCustomAttribute(MemberInfo, Type) GetCustomAttribute(MemberInfo, Type) GetCustomAttribute(MemberInfo, Type)

指定したメンバーに適用される指定した型のカスタム属性を取得します。Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute(MemberInfo, Type, Boolean) GetCustomAttribute(MemberInfo, Type, Boolean) GetCustomAttribute(MemberInfo, Type, Boolean) GetCustomAttribute(MemberInfo, Type, Boolean)

指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を調べます。Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttribute<T>(MemberInfo) GetCustomAttribute<T>(MemberInfo) GetCustomAttribute<T>(MemberInfo) GetCustomAttribute<T>(MemberInfo)

指定したメンバーに適用される指定した型のカスタム属性を取得します。Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute<T>(MemberInfo, Boolean) GetCustomAttribute<T>(MemberInfo, Boolean) GetCustomAttribute<T>(MemberInfo, Boolean) GetCustomAttribute<T>(MemberInfo, Boolean)

指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を調べます。Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo) GetCustomAttributes(MemberInfo) GetCustomAttributes(MemberInfo) GetCustomAttributes(MemberInfo)

指定されたメンバーに適用されるカスタム属性のコレクションを取得します。Retrieves a collection of custom attributes that are applied to a specified member.

GetCustomAttributes(MemberInfo, Boolean) GetCustomAttributes(MemberInfo, Boolean) GetCustomAttributes(MemberInfo, Boolean) GetCustomAttributes(MemberInfo, Boolean)

指定されたメンバーに適用されるカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo, Type) GetCustomAttributes(MemberInfo, Type) GetCustomAttributes(MemberInfo, Type) GetCustomAttributes(MemberInfo, Type)

指定されたメンバーに適用される指定された型のカスタム属性のコレクションを取得します。Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes(MemberInfo, Type, Boolean) GetCustomAttributes(MemberInfo, Type, Boolean) GetCustomAttributes(MemberInfo, Type, Boolean) GetCustomAttributes(MemberInfo, Type, Boolean)

指定されたメンバーに適用されている指定された型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes<T>(MemberInfo) GetCustomAttributes<T>(MemberInfo) GetCustomAttributes<T>(MemberInfo) GetCustomAttributes<T>(MemberInfo)

指定されたメンバーに適用される指定された型のカスタム属性のコレクションを取得します。Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes<T>(MemberInfo, Boolean) GetCustomAttributes<T>(MemberInfo, Boolean) GetCustomAttributes<T>(MemberInfo, Boolean) GetCustomAttributes<T>(MemberInfo, Boolean)

指定されたメンバーに適用されている指定された型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を調べます。Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

IsDefined(MemberInfo, Type) IsDefined(MemberInfo, Type) IsDefined(MemberInfo, Type) IsDefined(MemberInfo, Type)

指定された型のカスタム属性が指定されたメンバーに適用されているかどうかを示します。Indicates whether custom attributes of a specified type are applied to a specified member.

IsDefined(MemberInfo, Type, Boolean) IsDefined(MemberInfo, Type, Boolean) IsDefined(MemberInfo, Type, Boolean) IsDefined(MemberInfo, Type, Boolean)

指定された型のカスタム属性が指定されたメンバーに適用され、オプションで先祖に適用されているかどうかを示します。Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors.

GetTypeInfo(Type) GetTypeInfo(Type) GetTypeInfo(Type) GetTypeInfo(Type)

指定された型の TypeInfo 形式を返します。Returns the TypeInfo representation of the specified type.

GetMetadataToken(MemberInfo) GetMetadataToken(MemberInfo) GetMetadataToken(MemberInfo) GetMetadataToken(MemberInfo)

指定されたメンバーのメタデータ トークンを取得します (存在する場合)。Gets a metadata token for the given member, if available.

HasMetadataToken(MemberInfo) HasMetadataToken(MemberInfo) HasMetadataToken(MemberInfo) HasMetadataToken(MemberInfo)

指定されたメンバーに対してメタデータ トークンを使用できるかどうかを示す値を返します。Returns a value that indicates whether a metadata token is available for the specified member.

GetRuntimeEvent(Type, String) GetRuntimeEvent(Type, String) GetRuntimeEvent(Type, String) GetRuntimeEvent(Type, String)

指定したイベントを表すオブジェクトを取得します。Retrieves an object that represents the specified event.

GetRuntimeEvents(Type) GetRuntimeEvents(Type) GetRuntimeEvents(Type) GetRuntimeEvents(Type)

指定した型で定義されるすべてのイベントを表すコレクションを取得します。Retrieves a collection that represents all the events defined on a specified type.

GetRuntimeField(Type, String) GetRuntimeField(Type, String) GetRuntimeField(Type, String) GetRuntimeField(Type, String)

指定したフィールドを表すオブジェクトを取得します。Retrieves an object that represents a specified field.

GetRuntimeFields(Type) GetRuntimeFields(Type) GetRuntimeFields(Type) GetRuntimeFields(Type)

指定した型で定義されるすべてのフィールドを表すコレクションを取得します。Retrieves a collection that represents all the fields defined on a specified type.

GetRuntimeMethod(Type, String, Type[]) GetRuntimeMethod(Type, String, Type[]) GetRuntimeMethod(Type, String, Type[]) GetRuntimeMethod(Type, String, Type[])

指定したメソッドを表すオブジェクトを取得します。Retrieves an object that represents a specified method.

GetRuntimeMethods(Type) GetRuntimeMethods(Type) GetRuntimeMethods(Type) GetRuntimeMethods(Type)

指定した型で定義されるすべてのメソッドを表すコレクションを取得します。Retrieves a collection that represents all methods defined on a specified type.

GetRuntimeProperties(Type) GetRuntimeProperties(Type) GetRuntimeProperties(Type) GetRuntimeProperties(Type)

指定した型で定義されるすべてのプロパティを表すコレクションを取得します。Retrieves a collection that represents all the properties defined on a specified type.

GetRuntimeProperty(Type, String) GetRuntimeProperty(Type, String) GetRuntimeProperty(Type, String) GetRuntimeProperty(Type, String)

指定したプロパティを表すオブジェクトを取得します。Retrieves an object that represents a specified property.

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

適用対象

こちらもご覧ください