TypeBuilder TypeBuilder TypeBuilder TypeBuilder Class

Definition

Definiert und erstellt zur Laufzeit neue Instanzen von Klassen.Defines and creates new instances of classes during run time.

public ref class TypeBuilder sealed : System::Reflection::TypeInfo, System::Runtime::InteropServices::_TypeBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class TypeBuilder : System.Reflection.TypeInfo, System.Runtime.InteropServices._TypeBuilder
type TypeBuilder = class
    inherit TypeInfo
    interface _TypeBuilder
Public NotInheritable Class TypeBuilder
Inherits TypeInfo
Implements _TypeBuilder
Vererbung
Attribute
Implementiert

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele.This section contains two code examples. Im ersten Beispiel wird gezeigt, wie ein dynamischer Typ mit einem Feld, einem Konstruktor, einer Eigenschaft und einer Methode erstellt wird.The first example shows how to create a dynamic type with a field, constructor, property, and method. Im zweiten Beispiel wird eine Methode dynamisch aus der Benutzereingabe erstellt.The second example builds a method dynamically from user input.

Beispiel 1Example one

Im folgenden Codebeispiel wird gezeigt, wie eine dynamische Assembly mit einem Modul definiert wird.The following code example shows how to define a dynamic assembly with one module. Das Modul in der Beispielassembly enthält einen Typ, MyDynamicType, der über ein privates Feld verfügt, eine Eigenschaft, die das private Feld, Konstruktoren, die das private Feld initialisieren, und eine Methode, die eine vom Benutzer bereitgestellte Zahl mit dem privaten Feld multipliziert. -Wert und gibt das Ergebnis zurück.The module in the example assembly contains one type, MyDynamicType, which has a private field, a property that gets and sets the private field, constructors that initialize the private field, and a method that multiplies a user-supplied number by the private field value and returns the result.

Das AssemblyBuilderAccess.RunAndSave Feld wird beim Erstellen der Assembly angegeben.The AssemblyBuilderAccess.RunAndSave field is specified when the assembly is created. Der Assemblycode wird sofort verwendet, und die Assembly wird auch auf dem Datenträger gespeichert, damit Sie mit Ildasm. exe (IL Disassembler) untersucht oder in einem anderen Programm verwendet werden kann.The assembly code is used immediately, and the assembly is also saved to disk so that it can be examined with Ildasm.exe (IL Disassembler) or used in another program.

using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;

void main()
{
    // An assembly consists of one or more modules, each of which
    // contains zero or more types. This code creates a single-module
    // assembly, the most common case. The module contains one type,
    // named "MyDynamicType", that has a private field, a property 
    // that gets and sets the private field, constructors that 
    // initialize the private field, and a method that multiplies 
    // a user-supplied number by the private field value and returns
    // the result. In Visual C++ the type might look like this:
    /*
      public ref class MyDynamicType
      {
      private:
          int m_number;

      public:
          MyDynamicType() : m_number(42) {};
          MyDynamicType(int initNumber) : m_number(initNumber) {};
      
          property int Number
          {
              int get() { return m_number; }
              void set(int value) { m_number = value; }
          }

          int MyMethod(int multiplier)
          {
              return m_number * multiplier;
          }
      };
    */
      
    AssemblyName^ aName = gcnew AssemblyName("DynamicAssemblyExample");
    AssemblyBuilder^ ab = 
        AppDomain::CurrentDomain->DefineDynamicAssembly(
            aName, 
            AssemblyBuilderAccess::RunAndSave);

    // For a single-module assembly, the module name is usually
    // the assembly name plus an extension.
    ModuleBuilder^ mb = 
        ab->DefineDynamicModule(aName->Name, aName->Name + ".dll");
      
    TypeBuilder^ tb = mb->DefineType(
        "MyDynamicType", 
         TypeAttributes::Public);

    // Add a private field of type int (Int32).
    FieldBuilder^ fbNumber = tb->DefineField(
        "m_number", 
        int::typeid, 
        FieldAttributes::Private);

    // Define a constructor that takes an integer argument and 
    // stores it in the private field. 
    array<Type^>^ parameterTypes = { int::typeid };
    ConstructorBuilder^ ctor1 = tb->DefineConstructor(
        MethodAttributes::Public, 
        CallingConventions::Standard, 
        parameterTypes);

    ILGenerator^ ctor1IL = ctor1->GetILGenerator();
    // For a constructor, argument zero is a reference to the new
    // instance. Push it on the stack before calling the base
    // class constructor. Specify the default constructor of the 
    // base class (System::Object) by passing an empty array of 
    // types (Type::EmptyTypes) to GetConstructor.
    ctor1IL->Emit(OpCodes::Ldarg_0);
    ctor1IL->Emit(OpCodes::Call, 
        Object::typeid->GetConstructor(Type::EmptyTypes));
    // Push the instance on the stack before pushing the argument
    // that is to be assigned to the private field m_number.
    ctor1IL->Emit(OpCodes::Ldarg_0);
    ctor1IL->Emit(OpCodes::Ldarg_1);
    ctor1IL->Emit(OpCodes::Stfld, fbNumber);
    ctor1IL->Emit(OpCodes::Ret);

    // Define a default constructor that supplies a default value
    // for the private field. For parameter types, pass the empty
    // array of types or pass nullptr.
    ConstructorBuilder^ ctor0 = tb->DefineConstructor(
        MethodAttributes::Public, 
        CallingConventions::Standard, 
        Type::EmptyTypes);

    ILGenerator^ ctor0IL = ctor0->GetILGenerator();
    ctor0IL->Emit(OpCodes::Ldarg_0);
    ctor0IL->Emit(OpCodes::Call, 
        Object::typeid->GetConstructor(Type::EmptyTypes));
    // For a constructor, argument zero is a reference to the new
    // instance. Push it on the stack before pushing the default
    // value on the stack.
    ctor0IL->Emit(OpCodes::Ldarg_0);
    ctor0IL->Emit(OpCodes::Ldc_I4_S, 42);
    ctor0IL->Emit(OpCodes::Stfld, fbNumber);
    ctor0IL->Emit(OpCodes::Ret);

    // Define a property named Number that gets and sets the private 
    // field.
    //
    // The last argument of DefineProperty is nullptr, because the
    // property has no parameters. (If you don't specify nullptr, you must
    // specify an array of Type objects. For a parameterless property,
    // use the built-in array with no elements: Type::EmptyTypes)
    PropertyBuilder^ pbNumber = tb->DefineProperty(
        "Number", 
        PropertyAttributes::HasDefault, 
        int::typeid, 
        nullptr);
      
    // The property "set" and property "get" methods require a special
    // set of attributes.
    MethodAttributes getSetAttr = MethodAttributes::Public | 
        MethodAttributes::SpecialName | MethodAttributes::HideBySig;

    // Define the "get" accessor method for Number. The method returns
    // an integer and has no arguments. (Note that nullptr could be 
    // used instead of Types::EmptyTypes)
    MethodBuilder^ mbNumberGetAccessor = tb->DefineMethod(
        "get_Number", 
        getSetAttr, 
        int::typeid, 
        Type::EmptyTypes);
      
    ILGenerator^ numberGetIL = mbNumberGetAccessor->GetILGenerator();
    // For an instance property, argument zero is the instance. Load the 
    // instance, then load the private field and return, leaving the
    // field value on the stack.
    numberGetIL->Emit(OpCodes::Ldarg_0);
    numberGetIL->Emit(OpCodes::Ldfld, fbNumber);
    numberGetIL->Emit(OpCodes::Ret);
    
    // Define the "set" accessor method for Number, which has no return
    // type and takes one argument of type int (Int32).
    MethodBuilder^ mbNumberSetAccessor = tb->DefineMethod(
        "set_Number", 
        getSetAttr, 
        nullptr, 
        gcnew array<Type^> { int::typeid });
      
    ILGenerator^ numberSetIL = mbNumberSetAccessor->GetILGenerator();
    // Load the instance and then the numeric argument, then store the
    // argument in the field.
    numberSetIL->Emit(OpCodes::Ldarg_0);
    numberSetIL->Emit(OpCodes::Ldarg_1);
    numberSetIL->Emit(OpCodes::Stfld, fbNumber);
    numberSetIL->Emit(OpCodes::Ret);
      
    // Last, map the "get" and "set" accessor methods to the 
    // PropertyBuilder. The property is now complete. 
    pbNumber->SetGetMethod(mbNumberGetAccessor);
    pbNumber->SetSetMethod(mbNumberSetAccessor);

    // Define a method that accepts an integer argument and returns
    // the product of that integer and the private field m_number. This
    // time, the array of parameter types is created on the fly.
    MethodBuilder^ meth = tb->DefineMethod(
        "MyMethod", 
        MethodAttributes::Public, 
        int::typeid, 
        gcnew array<Type^> { int::typeid });

    ILGenerator^ methIL = meth->GetILGenerator();
    // To retrieve the private instance field, load the instance it
    // belongs to (argument zero). After loading the field, load the 
    // argument one and then multiply. Return from the method with 
    // the return value (the product of the two numbers) on the 
    // execution stack.
    methIL->Emit(OpCodes::Ldarg_0);
    methIL->Emit(OpCodes::Ldfld, fbNumber);
    methIL->Emit(OpCodes::Ldarg_1);
    methIL->Emit(OpCodes::Mul);
    methIL->Emit(OpCodes::Ret);

    // Finish the type->
    Type^ t = tb->CreateType();
     
    // The following line saves the single-module assembly. This
    // requires AssemblyBuilderAccess to include Save. You can now
    // type "ildasm MyDynamicAsm.dll" at the command prompt, and 
    // examine the assembly. You can also write a program that has
    // a reference to the assembly, and use the MyDynamicType type.
    // 
    ab->Save(aName->Name + ".dll");

    // Because AssemblyBuilderAccess includes Run, the code can be
    // executed immediately. Start by getting reflection objects for
    // the method and the property.
    MethodInfo^ mi = t->GetMethod("MyMethod");
    PropertyInfo^ pi = t->GetProperty("Number");
  
    // Create an instance of MyDynamicType using the default 
    // constructor. 
    Object^ o1 = Activator::CreateInstance(t);

    // Display the value of the property, then change it to 127 and 
    // display it again. Use nullptr to indicate that the property
    // has no index.
    Console::WriteLine("o1->Number: {0}", pi->GetValue(o1, nullptr));
    pi->SetValue(o1, 127, nullptr);
    Console::WriteLine("o1->Number: {0}", pi->GetValue(o1, nullptr));

    // Call MyMethod, passing 22, and display the return value, 22
    // times 127. Arguments must be passed as an array, even when
    // there is only one.
    array<Object^>^ arguments = { 22 };
    Console::WriteLine("o1->MyMethod(22): {0}", 
        mi->Invoke(o1, arguments));

    // Create an instance of MyDynamicType using the constructor
    // that specifies m_Number. The constructor is identified by
    // matching the types in the argument array. In this case, 
    // the argument array is created on the fly. Display the 
    // property value.
    Object^ o2 = Activator::CreateInstance(t, 
        gcnew array<Object^> { 5280 });
    Console::WriteLine("o2->Number: {0}", pi->GetValue(o2, nullptr));
};

/* This code produces the following output:

o1->Number: 42
o1->Number: 127
o1->MyMethod(22): 2794
o2->Number: 5280
 */
using System;
using System.Reflection;
using System.Reflection.Emit;

class DemoAssemblyBuilder
{
    public static void Main()
    {
        // An assembly consists of one or more modules, each of which
        // contains zero or more types. This code creates a single-module
        // assembly, the most common case. The module contains one type,
        // named "MyDynamicType", that has a private field, a property 
        // that gets and sets the private field, constructors that 
        // initialize the private field, and a method that multiplies 
        // a user-supplied number by the private field value and returns
        // the result. In C# the type might look like this:
        /*
        public class MyDynamicType
        {
            private int m_number;
        
            public MyDynamicType() : this(42) {}
            public MyDynamicType(int initNumber)
            {
                m_number = initNumber;
            }

            public int Number
            {
                get { return m_number; }
                set { m_number = value; }
            }

            public int MyMethod(int multiplier)
            {
                return m_number * multiplier;
            }
        }
        */
      
        AssemblyName aName = new AssemblyName("DynamicAssemblyExample");
        AssemblyBuilder ab = 
            AppDomain.CurrentDomain.DefineDynamicAssembly(
                aName, 
                AssemblyBuilderAccess.RunAndSave);

        // For a single-module assembly, the module name is usually
        // the assembly name plus an extension.
        ModuleBuilder mb = 
            ab.DefineDynamicModule(aName.Name, aName.Name + ".dll");
      
        TypeBuilder tb = mb.DefineType(
            "MyDynamicType", 
             TypeAttributes.Public);

        // Add a private field of type int (Int32).
        FieldBuilder fbNumber = tb.DefineField(
            "m_number", 
            typeof(int), 
            FieldAttributes.Private);

        // Define a constructor that takes an integer argument and 
        // stores it in the private field. 
        Type[] parameterTypes = { typeof(int) };
        ConstructorBuilder ctor1 = tb.DefineConstructor(
            MethodAttributes.Public, 
            CallingConventions.Standard, 
            parameterTypes);

        ILGenerator ctor1IL = ctor1.GetILGenerator();
        // For a constructor, argument zero is a reference to the new
        // instance. Push it on the stack before calling the base
        // class constructor. Specify the default constructor of the 
        // base class (System.Object) by passing an empty array of 
        // types (Type.EmptyTypes) to GetConstructor.
        ctor1IL.Emit(OpCodes.Ldarg_0);
        ctor1IL.Emit(OpCodes.Call, 
            typeof(object).GetConstructor(Type.EmptyTypes));
        // Push the instance on the stack before pushing the argument
        // that is to be assigned to the private field m_number.
        ctor1IL.Emit(OpCodes.Ldarg_0);
        ctor1IL.Emit(OpCodes.Ldarg_1);
        ctor1IL.Emit(OpCodes.Stfld, fbNumber);
        ctor1IL.Emit(OpCodes.Ret);

        // Define a default constructor that supplies a default value
        // for the private field. For parameter types, pass the empty
        // array of types or pass null.
        ConstructorBuilder ctor0 = tb.DefineConstructor(
            MethodAttributes.Public, 
            CallingConventions.Standard, 
            Type.EmptyTypes);

        ILGenerator ctor0IL = ctor0.GetILGenerator();
        // For a constructor, argument zero is a reference to the new
        // instance. Push it on the stack before pushing the default
        // value on the stack, then call constructor ctor1.
        ctor0IL.Emit(OpCodes.Ldarg_0);
        ctor0IL.Emit(OpCodes.Ldc_I4_S, 42);
        ctor0IL.Emit(OpCodes.Call, ctor1);
        ctor0IL.Emit(OpCodes.Ret);

        // Define a property named Number that gets and sets the private 
        // field.
        //
        // The last argument of DefineProperty is null, because the
        // property has no parameters. (If you don't specify null, you must
        // specify an array of Type objects. For a parameterless property,
        // use the built-in array with no elements: Type.EmptyTypes)
        PropertyBuilder pbNumber = tb.DefineProperty(
            "Number", 
            PropertyAttributes.HasDefault, 
            typeof(int), 
            null);
      
        // The property "set" and property "get" methods require a special
        // set of attributes.
        MethodAttributes getSetAttr = MethodAttributes.Public | 
            MethodAttributes.SpecialName | MethodAttributes.HideBySig;

        // Define the "get" accessor method for Number. The method returns
        // an integer and has no arguments. (Note that null could be 
        // used instead of Types.EmptyTypes)
        MethodBuilder mbNumberGetAccessor = tb.DefineMethod(
            "get_Number", 
            getSetAttr, 
            typeof(int), 
            Type.EmptyTypes);
      
        ILGenerator numberGetIL = mbNumberGetAccessor.GetILGenerator();
        // For an instance property, argument zero is the instance. Load the 
        // instance, then load the private field and return, leaving the
        // field value on the stack.
        numberGetIL.Emit(OpCodes.Ldarg_0);
        numberGetIL.Emit(OpCodes.Ldfld, fbNumber);
        numberGetIL.Emit(OpCodes.Ret);
        
        // Define the "set" accessor method for Number, which has no return
        // type and takes one argument of type int (Int32).
        MethodBuilder mbNumberSetAccessor = tb.DefineMethod(
            "set_Number", 
            getSetAttr, 
            null, 
            new Type[] { typeof(int) });
      
        ILGenerator numberSetIL = mbNumberSetAccessor.GetILGenerator();
        // Load the instance and then the numeric argument, then store the
        // argument in the field.
        numberSetIL.Emit(OpCodes.Ldarg_0);
        numberSetIL.Emit(OpCodes.Ldarg_1);
        numberSetIL.Emit(OpCodes.Stfld, fbNumber);
        numberSetIL.Emit(OpCodes.Ret);
      
        // Last, map the "get" and "set" accessor methods to the 
        // PropertyBuilder. The property is now complete. 
        pbNumber.SetGetMethod(mbNumberGetAccessor);
        pbNumber.SetSetMethod(mbNumberSetAccessor);

        // Define a method that accepts an integer argument and returns
        // the product of that integer and the private field m_number. This
        // time, the array of parameter types is created on the fly.
        MethodBuilder meth = tb.DefineMethod(
            "MyMethod", 
            MethodAttributes.Public, 
            typeof(int), 
            new Type[] { typeof(int) });

        ILGenerator methIL = meth.GetILGenerator();
        // To retrieve the private instance field, load the instance it
        // belongs to (argument zero). After loading the field, load the 
        // argument one and then multiply. Return from the method with 
        // the return value (the product of the two numbers) on the 
        // execution stack.
        methIL.Emit(OpCodes.Ldarg_0);
        methIL.Emit(OpCodes.Ldfld, fbNumber);
        methIL.Emit(OpCodes.Ldarg_1);
        methIL.Emit(OpCodes.Mul);
        methIL.Emit(OpCodes.Ret);

        // Finish the type.
        Type t = tb.CreateType();
     
        // The following line saves the single-module assembly. This
        // requires AssemblyBuilderAccess to include Save. You can now
        // type "ildasm MyDynamicAsm.dll" at the command prompt, and 
        // examine the assembly. You can also write a program that has
        // a reference to the assembly, and use the MyDynamicType type.
        // 
        ab.Save(aName.Name + ".dll");

        // Because AssemblyBuilderAccess includes Run, the code can be
        // executed immediately. Start by getting reflection objects for
        // the method and the property.
        MethodInfo mi = t.GetMethod("MyMethod");
        PropertyInfo pi = t.GetProperty("Number");
  
        // Create an instance of MyDynamicType using the default 
        // constructor. 
        object o1 = Activator.CreateInstance(t);

        // Display the value of the property, then change it to 127 and 
        // display it again. Use null to indicate that the property
        // has no index.
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, null));
        pi.SetValue(o1, 127, null);
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, null));

        // Call MyMethod, passing 22, and display the return value, 22
        // times 127. Arguments must be passed as an array, even when
        // there is only one.
        object[] arguments = { 22 };
        Console.WriteLine("o1.MyMethod(22): {0}", 
            mi.Invoke(o1, arguments));

        // Create an instance of MyDynamicType using the constructor
        // that specifies m_Number. The constructor is identified by
        // matching the types in the argument array. In this case, 
        // the argument array is created on the fly. Display the 
        // property value.
        object o2 = Activator.CreateInstance(t, 
            new object[] { 5280 });
        Console.WriteLine("o2.Number: {0}", pi.GetValue(o2, null));
    }
}

/* This code produces the following output:

o1.Number: 42
o1.Number: 127
o1.MyMethod(22): 2794
o2.Number: 5280
 */
Imports System
Imports System.Reflection
Imports System.Reflection.Emit

Class DemoAssemblyBuilder

    Public Shared Sub Main()

        ' An assembly consists of one or more modules, each of which
        ' contains zero or more types. This code creates a single-module
        ' assembly, the most common case. The module contains one type,
        ' named "MyDynamicType", that has a private field, a property 
        ' that gets and sets the private field, constructors that 
        ' initialize the private field, and a method that multiplies
        ' a user-supplied number by the private field value and returns 
        ' the result. The code might look like this in Visual Basic:
        '
        'Public Class MyDynamicType
        '    Private m_number As Integer
        '
        '    Public Sub New()
        '        Me.New(42)
        '    End Sub
        '
        '    Public Sub New(ByVal initNumber As Integer)
        '        m_number = initNumber
        '    End Sub
        '
        '    Public Property Number As Integer
        '        Get
        '            Return m_number
        '        End Get
        '        Set
        '            m_Number = Value
        '        End Set
        '    End Property
        '
        '    Public Function MyMethod(ByVal multiplier As Integer) As Integer
        '        Return m_Number * multiplier
        '    End Function
        'End Class
      
        Dim aName As New AssemblyName("DynamicAssemblyExample")
        Dim ab As AssemblyBuilder = _
            AppDomain.CurrentDomain.DefineDynamicAssembly( _
                aName, _
                AssemblyBuilderAccess.RunAndSave)

        ' For a single-module assembly, the module name is usually
        ' the assembly name plus an extension.
        Dim mb As ModuleBuilder = ab.DefineDynamicModule( _
            aName.Name, _
            aName.Name & ".dll")
      
        Dim tb As TypeBuilder = _
            mb.DefineType("MyDynamicType", TypeAttributes.Public)

        ' Add a private field of type Integer (Int32).
        Dim fbNumber As FieldBuilder = tb.DefineField( _
            "m_number", _
            GetType(Integer), _
            FieldAttributes.Private)

        ' Define a constructor that takes an integer argument and 
        ' stores it in the private field. 
        Dim parameterTypes() As Type = { GetType(Integer) }
        Dim ctor1 As ConstructorBuilder = _
            tb.DefineConstructor( _
                MethodAttributes.Public, _
                CallingConventions.Standard, _
                parameterTypes)

        Dim ctor1IL As ILGenerator = ctor1.GetILGenerator()
        ' For a constructor, argument zero is a reference to the new
        ' instance. Push it on the stack before calling the base
        ' class constructor. Specify the default constructor of the 
        ' base class (System.Object) by passing an empty array of 
        ' types (Type.EmptyTypes) to GetConstructor.
        ctor1IL.Emit(OpCodes.Ldarg_0)
        ctor1IL.Emit(OpCodes.Call, _
            GetType(Object).GetConstructor(Type.EmptyTypes))
        ' Push the instance on the stack before pushing the argument
        ' that is to be assigned to the private field m_number.
        ctor1IL.Emit(OpCodes.Ldarg_0)
        ctor1IL.Emit(OpCodes.Ldarg_1)
        ctor1IL.Emit(OpCodes.Stfld, fbNumber)
        ctor1IL.Emit(OpCodes.Ret)

        ' Define a default constructor that supplies a default value
        ' for the private field. For parameter types, pass the empty
        ' array of types or pass Nothing.
        Dim ctor0 As ConstructorBuilder = tb.DefineConstructor( _
            MethodAttributes.Public, _
            CallingConventions.Standard, _
            Type.EmptyTypes)

        Dim ctor0IL As ILGenerator = ctor0.GetILGenerator()
        ' For a constructor, argument zero is a reference to the new
        ' instance. Push it on the stack before pushing the default
        ' value on the stack, then call constructor ctor1.
        ctor0IL.Emit(OpCodes.Ldarg_0)
        ctor0IL.Emit(OpCodes.Ldc_I4_S, 42)
        ctor0IL.Emit(OpCodes.Call, ctor1)
        ctor0IL.Emit(OpCodes.Ret)

        ' Define a property named Number that gets and sets the private 
        ' field.
        '
        ' The last argument of DefineProperty is Nothing, because the
        ' property has no parameters. (If you don't specify Nothing, you must
        ' specify an array of Type objects. For a parameterless property,
        ' use the built-in array with no elements: Type.EmptyTypes)
        Dim pbNumber As PropertyBuilder = tb.DefineProperty( _
            "Number", _
            PropertyAttributes.HasDefault, _
            GetType(Integer), _
            Nothing)
      
        ' The property Set and property Get methods require a special
        ' set of attributes.
        Dim getSetAttr As MethodAttributes = _
            MethodAttributes.Public Or MethodAttributes.SpecialName _
                Or MethodAttributes.HideBySig

        ' Define the "get" accessor method for Number. The method returns
        ' an integer and has no arguments. (Note that Nothing could be 
        ' used instead of Types.EmptyTypes)
        Dim mbNumberGetAccessor As MethodBuilder = tb.DefineMethod( _
            "get_Number", _
            getSetAttr, _
            GetType(Integer), _
            Type.EmptyTypes)
      
        Dim numberGetIL As ILGenerator = mbNumberGetAccessor.GetILGenerator()
        ' For an instance property, argument zero is the instance. Load the 
        ' instance, then load the private field and return, leaving the
        ' field value on the stack.
        numberGetIL.Emit(OpCodes.Ldarg_0)
        numberGetIL.Emit(OpCodes.Ldfld, fbNumber)
        numberGetIL.Emit(OpCodes.Ret)
        
        ' Define the "set" accessor method for Number, which has no return
        ' type and takes one argument of type Integer (Int32).
        Dim mbNumberSetAccessor As MethodBuilder = _
            tb.DefineMethod( _
                "set_Number", _
                getSetAttr, _
                Nothing, _
                New Type() { GetType(Integer) })
      
        Dim numberSetIL As ILGenerator = mbNumberSetAccessor.GetILGenerator()
        ' Load the instance and then the numeric argument, then store the
        ' argument in the field.
        numberSetIL.Emit(OpCodes.Ldarg_0)
        numberSetIL.Emit(OpCodes.Ldarg_1)
        numberSetIL.Emit(OpCodes.Stfld, fbNumber)
        numberSetIL.Emit(OpCodes.Ret)
      
        ' Last, map the "get" and "set" accessor methods to the 
        ' PropertyBuilder. The property is now complete. 
        pbNumber.SetGetMethod(mbNumberGetAccessor)
        pbNumber.SetSetMethod(mbNumberSetAccessor)

        ' Define a method that accepts an integer argument and returns
        ' the product of that integer and the private field m_number. This
        ' time, the array of parameter types is created on the fly.
        Dim meth As MethodBuilder = tb.DefineMethod( _
            "MyMethod", _
            MethodAttributes.Public, _
            GetType(Integer), _
            New Type() { GetType(Integer) })

        Dim methIL As ILGenerator = meth.GetILGenerator()
        ' To retrieve the private instance field, load the instance it
        ' belongs to (argument zero). After loading the field, load the 
        ' argument one and then multiply. Return from the method with 
        ' the return value (the product of the two numbers) on the 
        ' execution stack.
        methIL.Emit(OpCodes.Ldarg_0)
        methIL.Emit(OpCodes.Ldfld, fbNumber)
        methIL.Emit(OpCodes.Ldarg_1)
        methIL.Emit(OpCodes.Mul)
        methIL.Emit(OpCodes.Ret)

        ' Finish the type.
        Dim t As Type = tb.CreateType()
     
        ' The following line saves the single-module assembly. This
        ' requires AssemblyBuilderAccess to include Save. You can now
        ' type "ildasm MyDynamicAsm.dll" at the command prompt, and 
        ' examine the assembly. You can also write a program that has
        ' a reference to the assembly, and use the MyDynamicType type.
        ' 
        ab.Save(aName.Name & ".dll") 

        ' Because AssemblyBuilderAccess includes Run, the code can be
        ' executed immediately. Start by getting reflection objects for
        ' the method and the property.
        Dim mi As MethodInfo = t.GetMethod("MyMethod")
        Dim pi As PropertyInfo = t.GetProperty("Number")
  
        ' Create an instance of MyDynamicType using the default 
        ' constructor. 
        Dim o1 As Object = Activator.CreateInstance(t)

        ' Display the value of the property, then change it to 127 and 
        ' display it again. Use Nothing to indicate that the property
        ' has no index.
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, Nothing))
        pi.SetValue(o1, 127, Nothing)
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, Nothing))

        ' Call MyMethod, passing 22, and display the return value, 22
        ' times 127. Arguments must be passed as an array, even when
        ' there is only one.
        Dim arguments() As Object = { 22 }
        Console.WriteLine("o1.MyMethod(22): {0}", _
            mi.Invoke(o1, arguments))

        ' Create an instance of MyDynamicType using the constructor
        ' that specifies m_Number. The constructor is identified by
        ' matching the types in the argument array. In this case, 
        ' the argument array is created on the fly. Display the 
        ' property value.
        Dim o2 As Object = Activator.CreateInstance(t, _
            New Object() { 5280 })
        Console.WriteLine("o2.Number: {0}", pi.GetValue(o2, Nothing))
      
    End Sub  
End Class

' This code produces the following output:
'
'o1.Number: 42
'o1.Number: 127
'o1.MyMethod(22): 2794
'o2.Number: 5280

Beispiel zweiExample two

Im folgenden Codebeispiel wird veranschaulicht, wie ein dynamischer Typ mithilfe TypeBuildervon erstellt wird.The following code sample demonstrates how to build a dynamic type by using TypeBuilder.

using namespace System;
using namespace System::Threading;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
Type^ DynamicDotProductGen()
{
   Type^ ivType = nullptr;
   array<Type^>^temp0 = {int::typeid,int::typeid,int::typeid};
   array<Type^>^ctorParams = temp0;
   AppDomain^ myDomain = Thread::GetDomain();
   AssemblyName^ myAsmName = gcnew AssemblyName;
   myAsmName->Name = "IntVectorAsm";
   AssemblyBuilder^ myAsmBuilder = myDomain->DefineDynamicAssembly( myAsmName, AssemblyBuilderAccess::RunAndSave );
   ModuleBuilder^ IntVectorModule = myAsmBuilder->DefineDynamicModule( "IntVectorModule", "Vector.dll" );
   TypeBuilder^ ivTypeBld = IntVectorModule->DefineType( "IntVector", TypeAttributes::Public );
   FieldBuilder^ xField = ivTypeBld->DefineField( "x", int::typeid, FieldAttributes::Private );
   FieldBuilder^ yField = ivTypeBld->DefineField( "y", int::typeid, FieldAttributes::Private );
   FieldBuilder^ zField = ivTypeBld->DefineField( "z", int::typeid, FieldAttributes::Private );
   Type^ objType = Type::GetType( "System.Object" );
   ConstructorInfo^ objCtor = objType->GetConstructor( gcnew array<Type^>(0) );
   ConstructorBuilder^ ivCtor = ivTypeBld->DefineConstructor( MethodAttributes::Public, CallingConventions::Standard, ctorParams );
   ILGenerator^ ctorIL = ivCtor->GetILGenerator();
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Call, objCtor );
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_1 );
   ctorIL->Emit( OpCodes::Stfld, xField );
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_2 );
   ctorIL->Emit( OpCodes::Stfld, yField );
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_3 );
   ctorIL->Emit( OpCodes::Stfld, zField );
   ctorIL->Emit( OpCodes::Ret );
   
   // This method will find the dot product of the stored vector
   // with another.
   array<Type^>^temp1 = {ivTypeBld};
   array<Type^>^dpParams = temp1;
   
   // Here, you create a MethodBuilder containing the
   // name, the attributes (public, static, private, and so on),
   // the return type (int, in this case), and a array of Type
   // indicating the type of each parameter. Since the sole parameter
   // is a IntVector, the very class you're creating, you will
   // pass in the TypeBuilder (which is derived from Type) instead of
   // a Type object for IntVector, avoiding an exception.
   // -- This method would be declared in C# as:
   //    public int DotProduct(IntVector aVector)
   MethodBuilder^ dotProductMthd = ivTypeBld->DefineMethod( "DotProduct", MethodAttributes::Public, int::typeid, dpParams );
   
   // A ILGenerator can now be spawned, attached to the MethodBuilder.
   ILGenerator^ mthdIL = dotProductMthd->GetILGenerator();
   
   // Here's the body of our function, in MSIL form. We're going to find the
   // "dot product" of the current vector instance with the passed vector
   // instance. For reference purposes, the equation is:
   // (x1 * x2) + (y1 * y2) + (z1 * z2) = the dot product
   // First, you'll load the reference to the current instance "this"
   // stored in argument 0 (ldarg.0) onto the stack. Ldfld, the subsequent
   // instruction, will pop the reference off the stack and look up the
   // field "x", specified by the FieldInfo token "xField".
   mthdIL->Emit( OpCodes::Ldarg_0 );
   mthdIL->Emit( OpCodes::Ldfld, xField );
   
   // That completed, the value stored at field "x" is now atop the stack.
   // Now, you'll do the same for the Object reference we passed as a
   // parameter, stored in argument 1 (ldarg.1). After Ldfld executed,
   // you'll have the value stored in field "x" for the passed instance
   // atop the stack.
   mthdIL->Emit( OpCodes::Ldarg_1 );
   mthdIL->Emit( OpCodes::Ldfld, xField );
   
   // There will now be two values atop the stack - the "x" value for the
   // current vector instance, and the "x" value for the passed instance.
   // You'll now multiply them, and push the result onto the evaluation stack.
   mthdIL->Emit( OpCodes::Mul_Ovf_Un );
   
   // Now, repeat this for the "y" fields of both vectors.
   mthdIL->Emit( OpCodes::Ldarg_0 );
   mthdIL->Emit( OpCodes::Ldfld, yField );
   mthdIL->Emit( OpCodes::Ldarg_1 );
   mthdIL->Emit( OpCodes::Ldfld, yField );
   mthdIL->Emit( OpCodes::Mul_Ovf_Un );
   
   // At this time, the results of both multiplications should be atop
   // the stack. You'll now add them and push the result onto the stack.
   mthdIL->Emit( OpCodes::Add_Ovf_Un );
   
   // Multiply both "z" field and push the result onto the stack.
   mthdIL->Emit( OpCodes::Ldarg_0 );
   mthdIL->Emit( OpCodes::Ldfld, zField );
   mthdIL->Emit( OpCodes::Ldarg_1 );
   mthdIL->Emit( OpCodes::Ldfld, zField );
   mthdIL->Emit( OpCodes::Mul_Ovf_Un );
   
   // Finally, add the result of multiplying the "z" fields with the
   // result of the earlier addition, and push the result - the dot product -
   // onto the stack.
   mthdIL->Emit( OpCodes::Add_Ovf_Un );
   
   // The "ret" opcode will pop the last value from the stack and return it
   // to the calling method. You're all done!
   mthdIL->Emit( OpCodes::Ret );
   ivType = ivTypeBld->CreateType();
   return ivType;
}

int main()
{
   Type^ IVType = nullptr;
   Object^ aVector1 = nullptr;
   Object^ aVector2 = nullptr;
   array<Type^>^temp2 = {int::typeid,int::typeid,int::typeid};
   array<Type^>^aVtypes = temp2;
   array<Object^>^temp3 = {10,10,10};
   array<Object^>^aVargs1 = temp3;
   array<Object^>^temp4 = {20,20,20};
   array<Object^>^aVargs2 = temp4;
   
   // Call the  method to build our dynamic class.
   IVType = DynamicDotProductGen();
   Console::WriteLine( "---" );
   ConstructorInfo^ myDTctor = IVType->GetConstructor( aVtypes );
   aVector1 = myDTctor->Invoke( aVargs1 );
   aVector2 = myDTctor->Invoke( aVargs2 );
   array<Object^>^passMe = gcnew array<Object^>(1);
   passMe[ 0 ] = dynamic_cast<Object^>(aVector2);
   Console::WriteLine( "(10, 10, 10) . (20, 20, 20) = {0}", IVType->InvokeMember( "DotProduct", BindingFlags::InvokeMethod, nullptr, aVector1, passMe ) );
}

// +++ OUTPUT +++
// ---
// (10, 10, 10) . (20, 20, 20) = 600

using System;
using System.Threading;
using System.Reflection;
using System.Reflection.Emit;


class TestILGenerator {
 
  	public static Type DynamicDotProductGen() {
	  
	   Type ivType = null;
	   Type[] ctorParams = new Type[] { typeof(int),
		               		    typeof(int),
					    typeof(int)};
 	
	   AppDomain myDomain = Thread.GetDomain();
	   AssemblyName myAsmName = new AssemblyName();
	   myAsmName.Name = "IntVectorAsm";
	
	   AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
					  myAsmName, 
					  AssemblyBuilderAccess.RunAndSave);

   	   ModuleBuilder IntVectorModule = myAsmBuilder.DefineDynamicModule("IntVectorModule",
									    "Vector.dll");

	   TypeBuilder ivTypeBld = IntVectorModule.DefineType("IntVector",
						              TypeAttributes.Public);

	   FieldBuilder xField = ivTypeBld.DefineField("x", typeof(int),
                                                       FieldAttributes.Private);
	   FieldBuilder yField = ivTypeBld.DefineField("y", typeof(int), 
                                                       FieldAttributes.Private);
	   FieldBuilder zField = ivTypeBld.DefineField("z", typeof(int),
                                                       FieldAttributes.Private);


           Type objType = Type.GetType("System.Object"); 
           ConstructorInfo objCtor = objType.GetConstructor(new Type[0]);

	   ConstructorBuilder ivCtor = ivTypeBld.DefineConstructor(
					  MethodAttributes.Public,
					  CallingConventions.Standard,
					  ctorParams);
	   ILGenerator ctorIL = ivCtor.GetILGenerator();
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Call, objCtor);
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_1);
           ctorIL.Emit(OpCodes.Stfld, xField); 
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_2);
           ctorIL.Emit(OpCodes.Stfld, yField); 
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_3);
           ctorIL.Emit(OpCodes.Stfld, zField); 
	   ctorIL.Emit(OpCodes.Ret); 


	   // This method will find the dot product of the stored vector
	   // with another.

	   Type[] dpParams = new Type[] { ivTypeBld };

           // Here, you create a MethodBuilder containing the
	   // name, the attributes (public, static, private, and so on),
	   // the return type (int, in this case), and a array of Type
	   // indicating the type of each parameter. Since the sole parameter
	   // is a IntVector, the very class you're creating, you will
	   // pass in the TypeBuilder (which is derived from Type) instead of 
	   // a Type object for IntVector, avoiding an exception. 

	   // -- This method would be declared in C# as:
	   //    public int DotProduct(IntVector aVector)

           MethodBuilder dotProductMthd = ivTypeBld.DefineMethod(
	    		                  "DotProduct", 
				          MethodAttributes.Public,
                                          typeof(int), 
                                          dpParams);

	   // A ILGenerator can now be spawned, attached to the MethodBuilder.

	   ILGenerator mthdIL = dotProductMthd.GetILGenerator();
	   
 	   // Here's the body of our function, in MSIL form. We're going to find the
	   // "dot product" of the current vector instance with the passed vector 
	   // instance. For reference purposes, the equation is:
	   // (x1 * x2) + (y1 * y2) + (z1 * z2) = the dot product

	   // First, you'll load the reference to the current instance "this"
	   // stored in argument 0 (ldarg.0) onto the stack. Ldfld, the subsequent
	   // instruction, will pop the reference off the stack and look up the
	   // field "x", specified by the FieldInfo token "xField".

	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, xField);

	   // That completed, the value stored at field "x" is now atop the stack.
	   // Now, you'll do the same for the object reference we passed as a
	   // parameter, stored in argument 1 (ldarg.1). After Ldfld executed,
	   // you'll have the value stored in field "x" for the passed instance
	   // atop the stack.

	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, xField);

           // There will now be two values atop the stack - the "x" value for the
	   // current vector instance, and the "x" value for the passed instance.
	   // You'll now multiply them, and push the result onto the evaluation stack.

	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // Now, repeat this for the "y" fields of both vectors.

	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, yField);
	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, yField);
	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // At this time, the results of both multiplications should be atop
	   // the stack. You'll now add them and push the result onto the stack.

	   mthdIL.Emit(OpCodes.Add_Ovf_Un);

	   // Multiply both "z" field and push the result onto the stack.
	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, zField);
	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, zField);
	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // Finally, add the result of multiplying the "z" fields with the
	   // result of the earlier addition, and push the result - the dot product -
	   // onto the stack.
	   mthdIL.Emit(OpCodes.Add_Ovf_Un);

	   // The "ret" opcode will pop the last value from the stack and return it
	   // to the calling method. You're all done!

	   mthdIL.Emit(OpCodes.Ret);


 	   ivType = ivTypeBld.CreateType();

	   return ivType;

 	}

	public static void Main() {
	
	   Type IVType = null;
           object aVector1 = null;
           object aVector2 = null;
	   Type[] aVtypes = new Type[] {typeof(int), typeof(int), typeof(int)};
           object[] aVargs1 = new object[] {10, 10, 10};
           object[] aVargs2 = new object[] {20, 20, 20};
	
	   // Call the  method to build our dynamic class.

	   IVType = DynamicDotProductGen();

           Console.WriteLine("---");

	   ConstructorInfo myDTctor = IVType.GetConstructor(aVtypes);
	   aVector1 = myDTctor.Invoke(aVargs1);
	   aVector2 = myDTctor.Invoke(aVargs2);

	   object[] passMe = new object[1];
           passMe[0] = (object)aVector2; 

	   Console.WriteLine("(10, 10, 10) . (20, 20, 20) = {0}",
			     IVType.InvokeMember("DotProduct",
						  BindingFlags.InvokeMethod,
						  null,
						  aVector1,
						  passMe));

	    

	   // +++ OUTPUT +++
	   // ---
	   // (10, 10, 10) . (20, 20, 20) = 600 
	    
	}
    
}

Imports System
Imports System.Threading
Imports System.Reflection
Imports System.Reflection.Emit

 _


Class TestILGenerator
   
   
   Public Shared Function DynamicDotProductGen() As Type
      
      Dim ivType As Type = Nothing
      Dim ctorParams() As Type = {GetType(Integer), GetType(Integer), GetType(Integer)}
      
      Dim myDomain As AppDomain = Thread.GetDomain()
      Dim myAsmName As New AssemblyName()
      myAsmName.Name = "IntVectorAsm"
      
      Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly( _
					    myAsmName, _
					    AssemblyBuilderAccess.RunAndSave)
      
      Dim IntVectorModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule( _
					     "IntVectorModule", _
					     "Vector.dll")
      
      Dim ivTypeBld As TypeBuilder = IntVectorModule.DefineType("IntVector", TypeAttributes.Public)
      
      Dim xField As FieldBuilder = ivTypeBld.DefineField("x", _
						         GetType(Integer), _
						         FieldAttributes.Private)
      Dim yField As FieldBuilder = ivTypeBld.DefineField("y", _ 
						         GetType(Integer), _
						         FieldAttributes.Private)
      Dim zField As FieldBuilder = ivTypeBld.DefineField("z", _
						         GetType(Integer), _
						         FieldAttributes.Private)
      
      
      Dim objType As Type = Type.GetType("System.Object")
      Dim objCtor As ConstructorInfo = objType.GetConstructor(New Type() {})
      
      Dim ivCtor As ConstructorBuilder = ivTypeBld.DefineConstructor( _
					 MethodAttributes.Public, _
					 CallingConventions.Standard, _
					 ctorParams)
      Dim ctorIL As ILGenerator = ivCtor.GetILGenerator()
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Call, objCtor)
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_1)
      ctorIL.Emit(OpCodes.Stfld, xField)
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_2)
      ctorIL.Emit(OpCodes.Stfld, yField)
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_3)
      ctorIL.Emit(OpCodes.Stfld, zField)
      ctorIL.Emit(OpCodes.Ret)
     

      ' Now, you'll construct the method find the dot product of two vectors. First,
      ' let's define the parameters that will be accepted by the method. In this case,
      ' it's an IntVector itself!

      Dim dpParams() As Type = {ivTypeBld}
      
      ' Here, you create a MethodBuilder containing the
      ' name, the attributes (public, static, private, and so on),
      ' the return type (int, in this case), and a array of Type
      ' indicating the type of each parameter. Since the sole parameter
      ' is a IntVector, the very class you're creating, you will
      ' pass in the TypeBuilder (which is derived from Type) instead of 
      ' a Type object for IntVector, avoiding an exception. 
      ' -- This method would be declared in VB.NET as:
      '    Public Function DotProduct(IntVector aVector) As Integer

      Dim dotProductMthd As MethodBuilder = ivTypeBld.DefineMethod("DotProduct", _
					    MethodAttributes.Public, GetType(Integer), _
                                            dpParams)
      
      ' A ILGenerator can now be spawned, attached to the MethodBuilder.
      Dim mthdIL As ILGenerator = dotProductMthd.GetILGenerator()
      
      ' Here's the body of our function, in MSIL form. We're going to find the
      ' "dot product" of the current vector instance with the passed vector 
      ' instance. For reference purposes, the equation is:
      ' (x1 * x2) + (y1 * y2) + (z1 * z2) = the dot product
      ' First, you'll load the reference to the current instance "this"
      ' stored in argument 0 (ldarg.0) onto the stack. Ldfld, the subsequent
      ' instruction, will pop the reference off the stack and look up the
      ' field "x", specified by the FieldInfo token "xField".
      mthdIL.Emit(OpCodes.Ldarg_0)
      mthdIL.Emit(OpCodes.Ldfld, xField)
      
      ' That completed, the value stored at field "x" is now atop the stack.
      ' Now, you'll do the same for the object reference we passed as a
      ' parameter, stored in argument 1 (ldarg.1). After Ldfld executed,
      ' you'll have the value stored in field "x" for the passed instance
      ' atop the stack.
      mthdIL.Emit(OpCodes.Ldarg_1)
      mthdIL.Emit(OpCodes.Ldfld, xField)
      
      ' There will now be two values atop the stack - the "x" value for the
      ' current vector instance, and the "x" value for the passed instance.
      ' You'll now multiply them, and push the result onto the evaluation stack.
      mthdIL.Emit(OpCodes.Mul_Ovf_Un)
      
      ' Now, repeat this for the "y" fields of both vectors.
      mthdIL.Emit(OpCodes.Ldarg_0)
      mthdIL.Emit(OpCodes.Ldfld, yField)
      mthdIL.Emit(OpCodes.Ldarg_1)
      mthdIL.Emit(OpCodes.Ldfld, yField)
      mthdIL.Emit(OpCodes.Mul_Ovf_Un)
      
      ' At this time, the results of both multiplications should be atop
      ' the stack. You'll now add them and push the result onto the stack.
      mthdIL.Emit(OpCodes.Add_Ovf_Un)
      
      ' Multiply both "z" field and push the result onto the stack.
      mthdIL.Emit(OpCodes.Ldarg_0)
      mthdIL.Emit(OpCodes.Ldfld, zField)
      mthdIL.Emit(OpCodes.Ldarg_1)
      mthdIL.Emit(OpCodes.Ldfld, zField)
      mthdIL.Emit(OpCodes.Mul_Ovf_Un)
      
      ' Finally, add the result of multiplying the "z" fields with the
      ' result of the earlier addition, and push the result - the dot product -
      ' onto the stack.
      mthdIL.Emit(OpCodes.Add_Ovf_Un)
      
      ' The "ret" opcode will pop the last value from the stack and return it
      ' to the calling method. You're all done!
      mthdIL.Emit(OpCodes.Ret)
      
      
      ivType = ivTypeBld.CreateType()
      
      Return ivType
   End Function 'DynamicDotProductGen
    
   
   Public Shared Sub Main()
      
      Dim IVType As Type = Nothing
      Dim aVector1 As Object = Nothing
      Dim aVector2 As Object = Nothing
      Dim aVtypes() As Type = {GetType(Integer), GetType(Integer), GetType(Integer)}
      Dim aVargs1() As Object = {10, 10, 10}
      Dim aVargs2() As Object = {20, 20, 20}
      
      ' Call the  method to build our dynamic class.
      IVType = DynamicDotProductGen()
      
      
      Dim myDTctor As ConstructorInfo = IVType.GetConstructor(aVtypes)
      aVector1 = myDTctor.Invoke(aVargs1)
      aVector2 = myDTctor.Invoke(aVargs2)
      
      Console.WriteLine("---")
      Dim passMe(0) As Object
      passMe(0) = CType(aVector2, Object)
      
      Console.WriteLine("(10, 10, 10) . (20, 20, 20) = {0}", _
                        IVType.InvokeMember("DotProduct", BindingFlags.InvokeMethod, _
                        Nothing, aVector1, passMe))
   End Sub 'Main
End Class 'TestILGenerator



' +++ OUTPUT +++
' ---
' (10, 10, 10) . (20, 20, 20) = 600 


Hinweise

TypeBuilderdie Stamm Klasse, die verwendet wird, um die Erstellung dynamischer Klassen in der Laufzeit zu steuern.TypeBuilder is the root class used to control the creation of dynamic classes in the runtime. Sie stellt einen Satz von Routinen bereit, die verwendet werden, um Klassen zu definieren, Methoden und Felder hinzuzufügen und die Klasse in einem Modul zu erstellen.It provides a set of routines that are used to define classes, add methods and fields, and create the class inside a module. Ein neues TypeBuilder -Objekt kann mithilfe eines dynamischen Moduls erstellt werden, ModuleBuilder.DefineType indem die-Methode aufgerufen TypeBuilder wird, die ein-Objekt zurückgibt.A new TypeBuilder can be created from a dynamic module by calling the ModuleBuilder.DefineType method, which returns a TypeBuilder object.

Die Reflektionsausgabe bietet die folgenden Optionen zum Definieren von Typen:Reflection emit provides the following options for defining types:

  • Definiert eine Klasse oder Schnittstelle mit dem angegebenen Namen.Define a class or interface with the given name.

  • Definiert eine Klasse oder Schnittstelle mit dem angegebenen Namen und den angegebenen Attributen.Define a class or interface with the given name and attributes.

  • Definieren Sie eine Klasse mit dem angegebenen Namen, den Attributen und der Basisklasse.Define a class with the given name, attributes, and base class.

  • Definieren Sie eine Klasse mit dem angegebenen Namen, den Attributen, der Basisklasse und dem Satz von Schnittstellen, die von der Klasse implementiert werden.Define a class with the given name, attributes, base class, and the set of interfaces that the class implements.

  • Definieren Sie eine Klasse mit dem angegebenen Namen, den Attributen, der Basisklasse und der Komprimierungs Größe.Define a class with the given name, attributes, base class, and packing size.

  • Definieren Sie eine Klasse mit dem angegebenen Namen, den Attributen, der Basisklasse und der Klassengröße als Ganzes.Define a class with the given name, attributes, base class, and the class size as a whole.

  • Definieren Sie eine Klasse mit dem angegebenen Namen, den Attributen, der Basisklasse, der Verpackungsgröße und der Klassengröße als Ganzes.Define a class with the given name, attributes, base class, packing size, and the class size as a whole.

So erstellen ein Arraytyp, Zeigertyp oder Byref-Typ für einen unvollständigen Typ, der durch dargestellt wird eine TypeBuilder -Objekts die MakeArrayType -Methode, MakePointerType -Methode, oder MakeByRefType Methode bzw.To create an array type, pointer type, or byref type for an incomplete type that is represented by a TypeBuilder object, use the MakeArrayType method, MakePointerType method, or MakeByRefType method, respectively.

Bevor ein-Typ verwendet wird, TypeBuilder.CreateType muss die-Methode aufgerufen werden.Before a type is used, the TypeBuilder.CreateType method must be called. " Deetype " schließt die Erstellung des Typs ab.CreateType completes the creation of the type. Nach dem Aufruf von " kreatetype" kann der Aufrufer den Typ mithilfe der Activator.CreateInstance -Methode instanziieren und Member des Typs mithilfe der Type.InvokeMember -Methode aufrufen.Following the call to CreateType, the caller can instantiate the type by using the Activator.CreateInstance method, and invoke members of the type by using the Type.InvokeMember method. Es ist ein Fehler, Methoden aufzurufen, die die Implementierung eines Typs ändern, nachdem " deetype " aufgerufen wurde.It is an error to invoke methods that change the implementation of a type after CreateType has been called. Beispielsweise löst die Common Language Runtime eine Ausnahme aus, wenn der Aufrufer versucht, einem Typ neue Member hinzuzufügen.For example, the common language runtime throws an exception if the caller tries to add new members to a type.

Ein Klasseninitialisierer wird mithilfe der TypeBuilder.DefineTypeInitializer -Methode erstellt.A class initializer is created by using the TypeBuilder.DefineTypeInitializer method. DefineTypeInitializer gibt ein ConstructorBuilder -Objekt zurück.DefineTypeInitializer returns a ConstructorBuilder object.

Die TypeBuilder.DefineNestedType Definition von Typen wird durch Aufrufen einer der-Methoden definiert.Nested types are defined by calling one of the TypeBuilder.DefineNestedType methods.

AttributeAttributes

Die TypeBuilder -Klasse verwendet TypeAttributes die-Enumeration, um die Eigenschaften des zu erstellenden Typs weiter anzugeben:The TypeBuilder class uses the TypeAttributes enumeration to further specify the characteristics of the type to be created:

  • Schnittstellen werden mithilfe der TypeAttributes.Interface Attribute TypeAttributes.Abstract und angegeben.Interfaces are specified using the TypeAttributes.Interface and TypeAttributes.Abstract attributes.

  • Konkrete Klassen (Klassen, die nicht erweitert werden können) werden mithilfe TypeAttributes.Sealed des-Attributs angegeben.Concrete classes (classes that cannot be extended) are specified using the TypeAttributes.Sealed attribute.

  • Mehrere Attribute bestimmen die Typsichtbarkeit.Several attributes determine type visibility. Weitere Informationen finden Sie in TypeAttributes der Beschreibung der-Enumeration.See the description of the TypeAttributes enumeration.

  • Wenn TypeAttributes.SequentialLayout angegeben wird, legt das Klassen Lade Modul Felder in der Reihenfolge fest, in der Sie aus den Metadaten gelesen werden.If TypeAttributes.SequentialLayout is specified, the class loader lays out fields in the order they are read from metadata. Das Klassen Lade Modul berücksichtigt die angegebene Verpackungsgröße, ignoriert jedoch alle angegebenen Feld Offsets.The class loader considers the specified packing size but ignores any specified field offsets. Die Metadaten bewahren die Reihenfolge auf, in der die Feld Definitionen ausgegeben werden.The metadata preserves the order in which the field definitions are emitted. Selbst bei einer Zusammenführung ordnen die Metadaten die Feld Definitionen nicht neu an.Even across a merge, the metadata will not reorder the field definitions. Das Lade Modul berücksichtigt die angegebenen Feld Offsets nur, TypeAttributes.ExplicitLayout Wenn angegeben ist.The loader will honor the specified field offsets only if TypeAttributes.ExplicitLayout is specified.

Bekannte ProblemeKnown Issues

  • Die Reflektionsausgabe überprüft nicht, ob eine nicht abstrakte Klasse, die eine Schnittstelle implementiert, alle in der Schnittstelle deklarierten Methoden implementiert hat.Reflection emit does not verify whether a non-abstract class that implements an interface has implemented all the methods declared in the interface. Wenn die Klasse jedoch nicht alle Methoden implementiert, die in einer Schnittstelle deklariert sind, lädt die Laufzeit die Klasse nicht.However, if the class does not implement all the methods declared in an interface, the runtime does not load the class.

  • Obwohl TypeBuilder Type TypeBuilder von Typeabgeleitet ist, sind einige der in der-Klasse definierten abstrakten Methoden nicht vollständig in der-Klasse implementiert.Although TypeBuilder is derived from Type, some of the abstract methods defined in the Type class are not fully implemented in the TypeBuilder class. Aufrufe dieser TypeBuilder Methoden lösen eine NotSupportedException -Ausnahme aus.Calls to these TypeBuilder methods throw a NotSupportedException exception. Die gewünschte Funktionalität kann abgerufen werden, indem der erstellte Typ mit Type.GetType oder Assembly.GetType abgerufen und der abgerufene Typ reflektiert wird.The desired functionality can be obtained by retrieving the created type using the Type.GetType or Assembly.GetType and reflecting on the retrieved type.

Felder

UnspecifiedTypeSize UnspecifiedTypeSize UnspecifiedTypeSize UnspecifiedTypeSize

Stellt dar, dass die Gesamtgröße für den Typ nicht angegeben ist.Represents that total size for the type is not specified.

Eigenschaften

Assembly Assembly Assembly Assembly

Ruft die dynamische Assembly ab, die diese Typdefinition enthält.Retrieves the dynamic assembly that contains this type definition.

AssemblyQualifiedName AssemblyQualifiedName AssemblyQualifiedName AssemblyQualifiedName

Gibt den vollständigen Name des Typs zurück, der durch den Anzeigenamen der Assembly gekennzeichnet ist.Returns the full name of this type qualified by the display name of the assembly.

Attributes Attributes Attributes Attributes
BaseType BaseType BaseType BaseType

Ruft den Basistyp dieses Typs ab.Retrieves the base type of this type.

ContainsGenericParameters ContainsGenericParameters ContainsGenericParameters ContainsGenericParameters
CustomAttributes CustomAttributes CustomAttributes CustomAttributes

Ruft eine Sammlung ab, die die benutzerdefinierten Attribute dieses Members enthält.Gets a collection that contains this member's custom attributes.

(Inherited from MemberInfo)
DeclaringMethod DeclaringMethod DeclaringMethod DeclaringMethod

Ruft die Methode ab, die den aktuellen generischen Typparameter deklariert hat.Gets the method that declared the current generic type parameter.

DeclaringType DeclaringType DeclaringType DeclaringType

Gibt den Typ zurück, der diesen Typ deklariert hat.Returns the type that declared this type.

FullName FullName FullName FullName

Ruft den vollständigen Pfad dieses Typs ab.Retrieves the full path of this type.

GenericParameterAttributes GenericParameterAttributes GenericParameterAttributes GenericParameterAttributes

Ruft einen Wert ab, der die Kovarianz und die speziellen Einschränkungen des aktuellen generischen Typparameters angibt.Gets a value that indicates the covariance and special constraints of the current generic type parameter.

GenericParameterPosition GenericParameterPosition GenericParameterPosition GenericParameterPosition

Ruft die Position eines Typparameters in der Typparameterliste des generischen Typs ab, der den Parameter deklariert hat.Gets the position of a type parameter in the type parameter list of the generic type that declared the parameter.

GenericTypeArguments GenericTypeArguments GenericTypeArguments GenericTypeArguments
GUID GUID GUID GUID

Ruft die GUID dieses Typs ab.Retrieves the GUID of this type.

HasElementType HasElementType HasElementType HasElementType

Ruft einen Wert ab, der angibt, ob der aktuelle Type einen anderen Typ umfasst oder auf einen anderen Typ verweist, d. h. ob der aktuelle Type ein Array oder ein Zeiger ist oder als Verweis übergeben wird.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

Ruft einen Wert ab, der angibt, ob der Type abstrakt ist und überschrieben werden muss.Gets a value indicating whether the Type is abstract and must be overridden.

(Inherited from Type)
IsAnsiClass IsAnsiClass IsAnsiClass IsAnsiClass

Ruft einen Wert ab, der angibt, ob für AnsiClass das Zeichenfolgenformatattribut Type ausgewählt ist.Gets a value indicating whether the string format attribute AnsiClass is selected for the Type.

(Inherited from Type)
IsArray IsArray IsArray IsArray

Ruft einen Wert ab, der angibt, ob der Typ ein Array ist.Gets a value that indicates whether the type is an array.

(Inherited from Type)
IsAutoClass IsAutoClass IsAutoClass IsAutoClass

Ruft einen Wert ab, der angibt, ob für AutoClass das Zeichenfolgenformatattribut Type ausgewählt ist.Gets a value indicating whether the string format attribute AutoClass is selected for the Type.

(Inherited from Type)
IsAutoLayout IsAutoLayout IsAutoLayout IsAutoLayout

Ruft einen Wert ab, der angibt, ob die Felder des aktuellen Typs automatisch von der Common Language Runtime angelegt werden.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

Ruft einen Wert ab, der angibt, ob Type als Verweis übergeben wird.Gets a value indicating whether the Type is passed by reference.

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

Ruft einen Wert ab, der angibt, ob Type eine Klasse oder ein Delegat ist, d. h. weder ein Werttyp noch eine Schnittstelle.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

Ruft einen Wert ab, der angibt, ob dieses AssemblyLoadContext-Objekt Teil einer Assembly ist, die sich in einem entladbaren MemberInfo befindet.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

Ruft einen Wert ab, der angibt, ob Type ein COM-Objekt ist.Gets a value indicating whether the Type is a COM object.

(Inherited from Type)
IsConstructedGenericType IsConstructedGenericType IsConstructedGenericType IsConstructedGenericType

Ruft einen Wert ab, der angibt, ob dieses Objekt einen konstruierten generischen Typ darstellt.Gets a value that indicates whether this object represents a constructed generic type.

IsContextful IsContextful IsContextful IsContextful

Ruft einen Wert ab, der angibt, ob Type in einen Kontext aufgenommen werden kann.Gets a value indicating whether the Type can be hosted in a context.

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

Ruft einen Wert ab, der angibt, ob die Felder des aktuellen Typs an den explizit angegebenen Offsets angelegt werden.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

Ruft einen Wert ab, der angibt, ob der aktuelle Typ ein generischer Typparameter ist.Gets a value indicating whether the current type is a generic type parameter.

IsGenericType IsGenericType IsGenericType IsGenericType

Ruft einen Wert ab, der angibt, ob der aktuelle Typ ein generischer Typ ist.Gets a value indicating whether the current type is a generic type.

IsGenericTypeDefinition IsGenericTypeDefinition IsGenericTypeDefinition IsGenericTypeDefinition

Ruft einen Wert ab, der angibt, ob der aktuelle TypeBuilder eine generische Typdefinition darstellt, aus der andere generische Typen konstruiert werden können.Gets a value indicating whether the current TypeBuilder represents a generic type definition from which other generic types can be constructed.

IsGenericTypeParameter IsGenericTypeParameter IsGenericTypeParameter IsGenericTypeParameter Inherited from Type
IsImport IsImport IsImport IsImport

Ruft einen Wert ab, der angibt, ob der Type ein ComImportAttribute-Attribut hat, was bedeutet, dass er aus einer COM-Typbibliothek importiert wurde.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

Ruft einen Wert ab, der angibt, ob Type eine Schnittstelle ist, d. h. weder eine Klasse noch ein Werttyp.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

Ruft einen Wert ab, der angibt, ob die Felder des aktuellen Typs sequenziell angelegt werden, in der Reihenfolge, in der sie definiert oder an die Metadaten ausgegeben wurden.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

Ruft einen Wert ab, der angibt, ob Type als Verweis gemarshallt wird.Gets a value indicating whether the Type is marshaled by reference.

(Inherited from Type)
IsNested IsNested IsNested IsNested

Ruft einen Wert ab, der angibt, ob das aktuelle Type-Objekt einen Typ darstellt, dessen Definition in der Definition eines anderen Typs geschachtelt ist.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

Ruft einen Wert ab, der angibt, ob Type geschachtelt und nur innerhalb der eigenen Assembly sichtbar ist.Gets a value indicating whether the Type is nested and visible only within its own assembly.

(Inherited from Type)
IsNestedFamANDAssem IsNestedFamANDAssem IsNestedFamANDAssem IsNestedFamANDAssem

Ruft einen Wert ab, der angibt, ob Type geschachtelt und ausschließlich für Klassen sichtbar ist, die sowohl zur eigenen Familie als auch zur eigenen Assembly gehören.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

Ruft einen Wert ab, der angibt, ob Type geschachtelt und nur innerhalb der eigenen Familie sichtbar ist.Gets a value indicating whether the Type is nested and visible only within its own family.

(Inherited from Type)
IsNestedFamORAssem IsNestedFamORAssem IsNestedFamORAssem IsNestedFamORAssem

Ruft einen Wert ab, der angibt, ob Type geschachtelt und ausschließlich für Klassen sichtbar ist, die zur eigenen Familie oder zur eigenen Assembly gehören.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

Ruft einen Wert ab, der angibt, ob Type geschachtelt und als privat deklariert ist.Gets a value indicating whether the Type is nested and declared private.

(Inherited from Type)
IsNestedPublic IsNestedPublic IsNestedPublic IsNestedPublic

Ruft einen Wert ab, der angibt, ob eine Klasse geschachtelt und als öffentlich deklariert ist.Gets a value indicating whether a class is nested and declared public.

(Inherited from Type)
IsNotPublic IsNotPublic IsNotPublic IsNotPublic

Ruft einen Wert ab, der angibt, ob der Type nicht als öffentlich deklariert ist.Gets a value indicating whether the Type is not declared public.

(Inherited from Type)
IsPointer IsPointer IsPointer IsPointer

Ruft einen Wert ab, der angibt, ob Type ein Zeiger ist.Gets a value indicating whether the Type is a pointer.

(Inherited from Type)
IsPrimitive IsPrimitive IsPrimitive IsPrimitive

Ruft einen Wert ab, der angibt, ob Type zu den primitiven Typen gehört.Gets a value indicating whether the Type is one of the primitive types.

(Inherited from Type)
IsPublic IsPublic IsPublic IsPublic

Ruft einen Wert ab, der angibt, ob der Type als öffentlich deklariert ist.Gets a value indicating whether the Type is declared public.

(Inherited from Type)
IsSealed IsSealed IsSealed IsSealed

Ruft einen Wert ab, der angibt, ob der Type als versiegelt deklariert ist.Gets a value indicating whether the Type is declared sealed.

(Inherited from Type)
IsSecurityCritical IsSecurityCritical IsSecurityCritical IsSecurityCritical

Ruft einen Wert ab, der angibt, ob der aktuelle Typ sicherheitsrelevant ist und daher wichtige Vorgänge ausführen darf.Gets a value that indicates whether the current type is security-critical or security-safe-critical, and therefore can perform critical operations.

IsSecuritySafeCritical IsSecuritySafeCritical IsSecuritySafeCritical IsSecuritySafeCritical

Ruft einen Wert ab, der angibt, ob der aktuelle Typ sicherheitsgeschützt ist, d. h. ob er wichtige Vorgänge ausführen darf und ob von transparentem Code auf ihn zugegriffen werden kann.Gets a value that indicates whether the current type is security-safe-critical; that is, whether it can perform critical operations and can be accessed by transparent code.

IsSecurityTransparent IsSecurityTransparent IsSecurityTransparent IsSecurityTransparent

Ruft einen Wert ab, der angibt, ob der aktuelle Typ transparent ist und daher keine wichtigen Vorgänge ausführen kann.Gets a value that indicates whether the current type is transparent, and therefore cannot perform critical operations.

IsSerializable IsSerializable IsSerializable IsSerializable
IsSignatureType IsSignatureType IsSignatureType IsSignatureType Inherited from Type
IsSpecialName IsSpecialName IsSpecialName IsSpecialName

Ruft einen Wert ab, der angibt, ob der Typ einen Namen besitzt, der eine Sonderbehandlung erfordert.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

Ruft einen Wert ab, der angibt, ob für UnicodeClass das Zeichenfolgenformatattribut Typeausgewählt ist.Gets a value indicating whether the string format attribute UnicodeClass is selected for the Type.

(Inherited from Type)
IsValueType IsValueType IsValueType IsValueType

Ruft einen Wert ab, der angibt, ob Type ein Werttyp ist.Gets a value indicating whether the Type is a value type.

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

Ruft einen Wert ab, der angibt, ob auf den Type aus Code von außerhalb der Assembly zugegriffen werden kann.Gets a value indicating whether the Type can be accessed by code outside the assembly.

(Inherited from Type)
MemberType MemberType MemberType MemberType

Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member ein Typ oder ein geschachtelter Typ ist.Gets a MemberTypes value indicating that this member is a type or a nested type.

(Inherited from Type)
MetadataToken MetadataToken MetadataToken MetadataToken

Ruft einen Wert ab, der ein Metadatenelement identifiziert.Gets a value that identifies a metadata element.

(Inherited from MemberInfo)
Module Module Module Module

Ruft das dynamische Modul ab, das diese Typdefinition enthält.Retrieves the dynamic module that contains this type definition.

Name Name Name Name

Ruft den Namen dieses Typs ab.Retrieves the name of this type.

Namespace Namespace Namespace Namespace

Ruft den Namespace ab, in dem dieser TypeBuilder definiert ist.Retrieves the namespace where this TypeBuilder is defined.

PackingSize PackingSize PackingSize PackingSize

Ruft die Komprimierungsgröße dieses Typs ab.Retrieves the packing size of this type.

ReflectedType ReflectedType ReflectedType ReflectedType

Gibt den Typ zurück, mit dem dieser Typ abgerufen wurde.Returns the type that was used to obtain this type.

Size Size Size Size

Ruft die Gesamtgröße eines Typs ab.Retrieves the total size of a type.

StructLayoutAttribute StructLayoutAttribute StructLayoutAttribute StructLayoutAttribute

Ruft ein StructLayoutAttribute ab, der das Layout des aktuellen Typs beschreibt.Gets a StructLayoutAttribute that describes the layout of the current type.

(Inherited from Type)
TypeHandle TypeHandle TypeHandle TypeHandle

Wird in dynamischen Modulen nicht unterstützt.Not supported in dynamic modules.

TypeInitializer TypeInitializer TypeInitializer TypeInitializer

Ruft den Initialisierer für den Typ ab.Gets the initializer for the type.

(Inherited from Type)
TypeToken TypeToken TypeToken TypeToken

Gibt das Typtoken dieses Typs zurück.Returns the type token of this type.

UnderlyingSystemType UnderlyingSystemType UnderlyingSystemType UnderlyingSystemType

Gibt den zugrunde liegenden Systemtyp für diesen TypeBuilder zurück.Returns the underlying system type for this TypeBuilder.

Methoden

AddDeclarativeSecurity(SecurityAction, PermissionSet) AddDeclarativeSecurity(SecurityAction, PermissionSet) AddDeclarativeSecurity(SecurityAction, PermissionSet) AddDeclarativeSecurity(SecurityAction, PermissionSet)

Fügt diesem Typ deklarative Sicherheit hinzu.Adds declarative security to this type.

AddInterfaceImplementation(Type) AddInterfaceImplementation(Type) AddInterfaceImplementation(Type) AddInterfaceImplementation(Type)

Fügt eine Schnittstelle hinzu, die dieser Typ implementiert.Adds an interface that this type implements.

CreateType() CreateType() CreateType() CreateType()

Erstellt ein Type-Objekt für die Klasse.Creates a Type object for the class. Nachdem die Felder und Methoden für die Klasse definiert sind, wird CreateType aufgerufen, um das Type-Objekt der Klasse zu laden.After defining fields and methods on the class, CreateType is called in order to load its Type object.

CreateTypeInfo() CreateTypeInfo() CreateTypeInfo() CreateTypeInfo()

Ruft ein TypeInfo-Objekt ab, das diesen Typ darstellt.Gets a TypeInfo object that represents this type.

DefineConstructor(MethodAttributes, CallingConventions, Type[]) DefineConstructor(MethodAttributes, CallingConventions, Type[]) DefineConstructor(MethodAttributes, CallingConventions, Type[]) DefineConstructor(MethodAttributes, CallingConventions, Type[])

Fügt dem Typ einen neuen Konstruktor mit den angegebenen Attributen und der Signatur hinzu.Adds a new constructor to the type, with the given attributes and signature.

DefineConstructor(MethodAttributes, CallingConventions, Type[], Type[][], Type[][]) DefineConstructor(MethodAttributes, CallingConventions, Type[], Type[][], Type[][]) DefineConstructor(MethodAttributes, CallingConventions, Type[], Type[][], Type[][]) DefineConstructor(MethodAttributes, CallingConventions, Type[], Type[][], Type[][])

Fügt dem Typ einen neuen Konstruktor mit den angegebenen Attributen, der angegebenen Signatur und den angegebenen benutzerdefinierten Modifizierern hinzu.Adds a new constructor to the type, with the given attributes, signature, and custom modifiers.

DefineDefaultConstructor(MethodAttributes) DefineDefaultConstructor(MethodAttributes) DefineDefaultConstructor(MethodAttributes) DefineDefaultConstructor(MethodAttributes)

Definiert den parameterlosen Konstruktor.Defines the parameterless constructor. Der hier definierte Konstruktor ruft einfach den parameterlosen Konstruktor des übergeordneten Elements auf.The constructor defined here will simply call the parameterless constructor of the parent.

DefineEvent(String, EventAttributes, Type) DefineEvent(String, EventAttributes, Type) DefineEvent(String, EventAttributes, Type) DefineEvent(String, EventAttributes, Type)

Fügt dem Typ ein neues Ereignis hinzu, das den angegebenen Namen, die angegebenen Attribute und den angegebenen Ereignistyp hat.Adds a new event to the type, with the given name, attributes and event type.

DefineField(String, Type, FieldAttributes) DefineField(String, Type, FieldAttributes) DefineField(String, Type, FieldAttributes) DefineField(String, Type, FieldAttributes)

Fügt ein neues Feld mit dem angegebenen Namen, den angegebenen Attribute und dem angegebenen Feldtyp zum Typ hinzu.Adds a new field to the type, with the given name, attributes, and field type.

DefineField(String, Type, Type[], Type[], FieldAttributes) DefineField(String, Type, Type[], Type[], FieldAttributes) DefineField(String, Type, Type[], Type[], FieldAttributes) DefineField(String, Type, Type[], Type[], FieldAttributes)

Fügt ein neues Feld mit dem angegebenen Namen, den Attributen, dem Feldtyp und den benutzerdefinierten Modifizierern zum Typ hinzu.Adds a new field to the type, with the given name, attributes, field type, and custom modifiers.

DefineGenericParameters(String[]) DefineGenericParameters(String[]) DefineGenericParameters(String[]) DefineGenericParameters(String[])

Definiert die generischen Typparameter für den aktuellen Typ, gibt dabei deren Zahl und deren Namen an und gibt ein Array von GenericTypeParameterBuilder-Objekten zurück, das dazu verwendet werden kann, deren Einschränkungen festzulegen.Defines the generic type parameters for the current type, specifying their number and their names, and returns an array of GenericTypeParameterBuilder objects that can be used to set their constraints.

DefineInitializedData(String, Byte[], FieldAttributes) DefineInitializedData(String, Byte[], FieldAttributes) DefineInitializedData(String, Byte[], FieldAttributes) DefineInitializedData(String, Byte[], FieldAttributes)

Definiert das initialisierte Datenfeld im ".sdata"-Abschnitt der portierbaren ausführbaren Datei (Portable Executable, PE).Defines initialized data field in the .sdata section of the portable executable (PE) file.

DefineMethod(String, MethodAttributes) DefineMethod(String, MethodAttributes) DefineMethod(String, MethodAttributes) DefineMethod(String, MethodAttributes)

Fügt eine neue Methode zum Typ mit dem angegebenen Namen und den Methodenattributen hinzu.Adds a new method to the type, with the specified name and method attributes.

DefineMethod(String, MethodAttributes, CallingConventions) DefineMethod(String, MethodAttributes, CallingConventions) DefineMethod(String, MethodAttributes, CallingConventions) DefineMethod(String, MethodAttributes, CallingConventions)

Fügt eine neue Methode zum Typ mit dem angegebenen Namen, den Methodenattributen und der Aufrufkonvention hinzu.Adds a new method to the type, with the specified name, method attributes, and calling convention.

DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[])

Fügt eine neue Methode zum Typ mit dem angegebenen Namen, den Methodenattributen, der Aufrufkonvention und der Methodensignatur hinzu.Adds a new method to the type, with the specified name, method attributes, calling convention, and method signature.

DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])

Fügt eine neue Methode zum Typ mit dem angegebenen Namen, den Methodenattributen, der Aufrufkonvention, der Methodensignatur und den benutzerdefinierten Modifizierern hinzu.Adds a new method to the type, with the specified name, method attributes, calling convention, method signature, and custom modifiers.

DefineMethod(String, MethodAttributes, Type, Type[]) DefineMethod(String, MethodAttributes, Type, Type[]) DefineMethod(String, MethodAttributes, Type, Type[]) DefineMethod(String, MethodAttributes, Type, Type[])

Fügt eine neue Methode zum Typ mit dem angegebenen Namen, den Methodenattributen und der Methodensignatur hinzu.Adds a new method to the type, with the specified name, method attributes, and method signature.

DefineMethodOverride(MethodInfo, MethodInfo) DefineMethodOverride(MethodInfo, MethodInfo) DefineMethodOverride(MethodInfo, MethodInfo) DefineMethodOverride(MethodInfo, MethodInfo)

Gibt einen bestimmten Methodentext an, der eine bestimmte Methodendeklaration, möglicherweise mit einem anderen Namen, implementiert.Specifies a given method body that implements a given method declaration, potentially with a different name.

DefineNestedType(String) DefineNestedType(String) DefineNestedType(String) DefineNestedType(String)

Definiert einen geschachtelten Typ anhand des Namens.Defines a nested type, given its name.

DefineNestedType(String, TypeAttributes) DefineNestedType(String, TypeAttributes) DefineNestedType(String, TypeAttributes) DefineNestedType(String, TypeAttributes)

Definiert einen geschachtelten Typ, wozu dessen Name und Attribute angegeben sind.Defines a nested type, given its name and attributes.

DefineNestedType(String, TypeAttributes, Type) DefineNestedType(String, TypeAttributes, Type) DefineNestedType(String, TypeAttributes, Type) DefineNestedType(String, TypeAttributes, Type)

Definiert einen geschachtelten Typ bei gegebenem Namen, Attributen und erweitertem Typ.Defines a nested type, given its name, attributes, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, Int32) DefineNestedType(String, TypeAttributes, Type, Int32) DefineNestedType(String, TypeAttributes, Type, Int32) DefineNestedType(String, TypeAttributes, Type, Int32)

Definiert einen geschachtelten Typ bei gegebenem Namen, Attributen, Gesamtgröße des Typs und erweitertem Typ.Defines a nested type, given its name, attributes, the total size of the type, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, PackingSize) DefineNestedType(String, TypeAttributes, Type, PackingSize) DefineNestedType(String, TypeAttributes, Type, PackingSize) DefineNestedType(String, TypeAttributes, Type, PackingSize)

Definiert einen geschachtelten Typ bei gegebenem Namen, Attributen, erweitertem Typ und Komprimierungsgröße.Defines a nested type, given its name, attributes, the type that it extends, and the packing size.

DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32) DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32) DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32) DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32)

Definiert einen geschachtelten Typ bei gegebenem Namen, Attributen, Größe und erweitertem Typ.Defines a nested type, given its name, attributes, size, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, Type[]) DefineNestedType(String, TypeAttributes, Type, Type[]) DefineNestedType(String, TypeAttributes, Type, Type[]) DefineNestedType(String, TypeAttributes, Type, Type[])

Definiert einen geschachtelten Typ mit seinem Namen, den Attributen, dem erweiterten Typ und den implementierten Schnittstellen.Defines a nested type, given its name, attributes, the type that it extends, and the interfaces that it implements.

DefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)

Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, für die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode und die PInvoke-Flags.Defines a PInvoke method given its name, the name of the DLL in which the method is defined, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the PInvoke flags.

DefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet) DefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)

Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, für den Namen des Einstiegspunkts, die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode und die PInvoke-Flags.Defines a PInvoke method given its name, the name of the DLL in which the method is defined, the name of the entry point, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, and the PInvoke flags.

DefinePInvokeMethod(String, String, Type[][], CallingConvention, CharSet, String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][]) DefinePInvokeMethod(String, String, Type[][], CallingConvention, CharSet, String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][]) DefinePInvokeMethod(String, String, Type[][], CallingConvention, CharSet, String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][]) DefinePInvokeMethod(String, String, Type[][], CallingConvention, CharSet, String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][])

Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, den Namen des Einstiegspunkts, die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode, die PInvoke-Flags, die benutzerdefinierten Modifizierer für die Parameter und den Rückgabetyp.Defines a PInvoke method given its name, the name of the DLL in which the method is defined, the name of the entry point, the attributes of the method, the calling convention of the method, the return type of the method, the types of the parameters of the method, the PInvoke flags, and custom modifiers for the parameters and return type.

DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[])

Fügt dem Typ eine neue Eigenschaft mit den Angaben für den Namen, die Aufrufkonvention und die Signatur der Eigenschaften hinzu.Adds a new property to the type, with the given name, attributes, calling convention, and property signature.

DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])

Fügt dem Typ eine neue Eigenschaft hinzu, die den angegebenen Namen, die angegebene Aufrufkonvention, die angegebene Eigenschaftensignatur und die angegebenen benutzerdefinierten Modifizierer hat.Adds a new property to the type, with the given name, calling convention, property signature, and custom modifiers.

DefineProperty(String, PropertyAttributes, Type, Type[]) DefineProperty(String, PropertyAttributes, Type, Type[]) DefineProperty(String, PropertyAttributes, Type, Type[]) DefineProperty(String, PropertyAttributes, Type, Type[])

Fügt dem Typ eine neue Eigenschaft mit dem angegebenen Namen und der angegebenen Eigenschaftensignatur hinzu.Adds a new property to the type, with the given name and property signature.

DefineProperty(String, PropertyAttributes, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, Type, Type[], Type[], Type[], Type[][], Type[][]) DefineProperty(String, PropertyAttributes, Type, Type[], Type[], Type[], Type[][], Type[][])

Fügt dem Typ eine neue Eigenschaft hinzu, die den angegebenen Namen, die angegebene Eigenschaftensignatur und die angegebenen benutzerdefinierten Modifizierer hat.Adds a new property to the type, with the given name, property signature, and custom modifiers.

DefineTypeInitializer() DefineTypeInitializer() DefineTypeInitializer() DefineTypeInitializer()

Definiert den Initialisierer für diesen Typ.Defines the initializer for this type.

DefineUninitializedData(String, Int32, FieldAttributes) DefineUninitializedData(String, Int32, FieldAttributes) DefineUninitializedData(String, Int32, FieldAttributes) DefineUninitializedData(String, Int32, FieldAttributes)

Definiert das initialisierte Datenfeld im .sdata-Abschnitt der portierbaren ausführbaren Datei (Portable Executable, PE).Defines an uninitialized data field in the .sdata section of the portable executable (PE) file.

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

Bestimmt, ob der zugrunde liegende Systemtyp des aktuellen Type-Objekts mit dem zugrunde liegenden Systemtyp des angegebenen Object-Objekts übereinstimmtDetermines if the underlying system type of the current Type object is the same as the underlying system type of the specified Object.

(Inherited from Type)
Equals(Type) Equals(Type) Equals(Type) Equals(Type)

Bestimmt, ob der zugrunde liegende Systemtyp des aktuellen Type mit dem zugrunde liegenden Systemtyp des angegebenen Type übereinstimmt.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)

Gibt ein Array von Type-Objekten zurück, die eine gefilterte Liste von Schnittstellen darstellen, die vom aktuellen Type implementiert oder geerbt wurden.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)

Gibt ein gefiltertes Array von MemberInfo-Objekten mit dem angegebenen Membertyp zurück.Returns a filtered array of MemberInfo objects of the specified member type.

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

Implementiert beim Überschreiben in einer abgeleiteten Klasse die Attributes-Eigenschaft und ruft eine bitweise Kombination von Enumerationswerten ab, die die Type zugeordneten Attribute anzeigen.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[])

Sucht einen Konstruktor, dessen Parameter den angegebenen Argumenttypen und -modifizierern entsprechen, und berücksichtigt dabei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention.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[])

Sucht einen Konstruktor, dessen Parameter unter Verwendung der angegebenen Bindungseinschränkungen den angegebenen Argumenttypen und -modifizierern entsprechen.Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetConstructor(Type, ConstructorInfo) GetConstructor(Type, ConstructorInfo) GetConstructor(Type, ConstructorInfo) GetConstructor(Type, ConstructorInfo)

Gibt den Konstruktor des angegebenen konstruierten generischen Typs zurück, der dem angegebenen Konstruktor der generischen Typdefinition entspricht.Returns the constructor of the specified constructed generic type that corresponds to the specified constructor of the generic type definition.

GetConstructor(Type[]) GetConstructor(Type[]) GetConstructor(Type[]) GetConstructor(Type[])

Sucht einen öffentlichen Instanzkonstruktor, dessen Parameter den Typen im angegebenen Array entsprechen.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[])

Sucht beim Überschreiben in einer abgeleiteten Klasse, unter Verwendung der angegebenen Bindungseinschränkungen und der angegebenen Aufrufkonvention, nach einem Konstruktor, dessen Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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()

Gibt alle öffentlichen Konstruktoren zurück, die für den aktuellen Type definiert sind.Returns all the public constructors defined for the current Type.

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

Gibt ein Array von ConstructorInfo-Objekten zurück, die die für diese Klasse angegebenen definierten öffentlichen und nicht öffentlichen Konstruktoren darstellen.Returns an array of ConstructorInfo objects representing the public and non-public constructors defined for this class, as specified.

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

Gibt alle für diesen Typ definierten benutzerdefinierten Attribute zurück.Returns all the custom attributes defined for this type.

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

Gibt alle benutzerdefinierten Attribute des aktuellen Typs zurück, die einem angegebenen Typ zugewiesen werden können.Returns all the custom attributes of the current type that are assignable to a specified type.

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

Gibt eine Liste von CustomAttributeData-Objekten zurück, die Daten zu den Attributen darstellen, die auf den Zielmember angewendet wurden.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()

Sucht nach den für den aktuellen Type definierten Membern, deren DefaultMemberAttribute festgelegt ist.Searches for the members defined for the current Type whose DefaultMemberAttribute is set.

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

Beim Aufrufen dieser Methode wird immer eine NotSupportedException ausgelöst.Calling this method always throws NotSupportedException.

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

Gibt den Namen der Konstanten für den aktuellen Enumerationstyp zurück, die den angegebenen Wert aufweist.Returns the name of the constant that has the specified value, for the current enumeration type.

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

Gibt die Namen der Member des aktuellen Enumerationstyps zurück.Returns the names of the members of the current enumeration type.

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

Gibt den zugrunde liegenden Typ des aktuellen Enumerationstyps zurück.Returns the underlying type of the current enumeration type.

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

Gibt ein Array mit den Werten der Konstanten im aktuellen Enumerationstyp zurück.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)

Gibt das EventInfo-Objekt zurück, das das angegebene öffentliche Ereignis darstellt.Returns the EventInfo object representing the specified public event.

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

Gibt das Ereignis mit dem angegebenen Namen zurück.Returns the event with the specified name.

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

Gibt die öffentlichen Ereignisse zurück, die von diesem Typ deklariert oder geerbt wurden.Returns the public events declared or inherited by this type.

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

Gibt die öffentlichen und nicht öffentlichen Ereignisse zurück, die von diesem Typ deklariert werden.Returns the public and non-public events that are declared by this type.

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

Sucht das öffentliche Feld mit dem angegebenen Namen.Searches for the public field with the specified name.

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

Gibt das vom angegebenen Namen angegebene Feld zurück.Returns the field specified by the given name.

GetField(Type, FieldInfo) GetField(Type, FieldInfo) GetField(Type, FieldInfo) GetField(Type, FieldInfo)

Gibt das Feld des angegebenen konstruierten generischen Typs zurück, der dem angegebenen Feld der generischen Typdefinition entspricht.Returns the field of the specified constructed generic type that corresponds to the specified field of the generic type definition.

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

Gibt sämtliche öffentlichen Felder des aktuellen Type zurück.Returns all the public fields of the current Type.

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

Gibt die öffentlichen und nicht öffentlichen Felder zurück, die von diesem Typ deklariert werden.Returns the public and non-public fields that are declared by this type.

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

Gibt ein Array von Type-Objekten zurück, die die Typargumente eines generischen Typs oder die Typparameter einer generischen Typdefinition darstellen.Returns an array of Type objects representing the type arguments of a generic type or the type parameters of a generic type definition.

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

Gibt ein Type-Objekt zurück, das eine generische Typdefinition darstellt, aus der der aktuelle Typ abgerufen werden kann.Returns a Type object that represents a generic type definition from which the current type can be obtained.

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

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Inherited from Type)
GetInterface(String) GetInterface(String) GetInterface(String) GetInterface(String)

Sucht die Schnittstelle mit dem angegebenen Namen.Searches for the interface with the specified name.

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

Gibt die von dieser Klasse (direkt oder indirekt) implementierte Schnittstelle mit dem vollqualifizierten Namen zurück, der dem angegebenen Namen der Schnittstelle entspricht.Returns the interface implemented (directly or indirectly) by this class with the fully qualified name matching the given interface name.

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

Gibt eine Schnittstellenzuordnung für die angeforderte Schnittstelle zurück.Returns an interface mapping for the requested interface.

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

Gibt ein Array aller für diesen Typ und die zugehörigen Basistypen implementierten Schnittstellen zurück.Returns an array of all the interfaces implemented on this type and its base types.

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

Sucht die öffentlichen Member mit dem angegebenen Namen.Searches for the public members with the specified name.

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

Sucht die angegebenen Member unter Verwendung der angegebenen Bindungseinschränkungen.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)

Gibt alle öffentlichen und nicht öffentlichen Member zurück, die gemäß Angabe von diesem Typ deklariert oder geerbt wurden.Returns all the public and non-public members declared or inherited by this type, as specified.

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

Gibt sämtliche öffentlichen Member des aktuellen Type zurück.Returns all the public members of the current Type.

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

Gibt alle Member für die öffentlichen und nicht öffentlichen Member zurück, die von diesem Typ deklariert oder geerbt wurden.Returns the members for the public and non-public members declared or inherited by this type.

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

Sucht die öffentliche Methode mit dem angegebenen Namen.Searches for the public method with the specified name.

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

Sucht die angegebene Methode unter Verwendung der angegebenen Bindungseinschränkungen.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[])

Sucht nach der angegebenen Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen, und verwendet dabei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention.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[])

Sucht unter Verwendung der angegebenen Bindungseinschränkungen nach der angegebenen Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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[])

Sucht die angegebene öffentliche Methode, deren Parameter den angegebenen Argumenttypen entsprechen.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[])

Sucht die angegebene öffentliche Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.Searches for the specified public method whose parameters match the specified argument types and modifiers.

(Inherited from Type)
GetMethod(Type, MethodInfo) GetMethod(Type, MethodInfo) GetMethod(Type, MethodInfo) GetMethod(Type, MethodInfo)

Gibt die Methode des angegebenen konstruierten generischen Typs zurück, der der angegebenen Methode der generischen Typdefinition entspricht.Returns the method of the specified constructed generic type that corresponds to the specified method of the generic type definition.

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[])

Sucht beim Überschreiben in einer abgeleiteten Klasse unter Verwendung der angegebenen Bindungseinschränkungen und der angegebenen Aufrufkonvention nach der angegebenen Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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()

Gibt sämtliche öffentlichen Methoden des aktuellen Type zurück.Returns all the public methods of the current Type.

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

Gibt alle öffentlichen und nicht öffentlichen Methoden zurück, die gemäß Angabe von diesem Typ deklariert oder geerbt wurden.Returns all the public and non-public methods declared or inherited by this type, as specified.

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

Sucht den öffentlichen geschachtelten Typ mit dem angegebenen Namen.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)

Gibt die öffentlichen und nicht öffentlichen geschachtelten Typen zurück, die von diesem Typ deklariert werden.Returns the public and non-public nested types that are declared by this type.

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

Gibt die im aktuellen Type geschachtelten öffentlichen Typen zurück.Returns the public types nested in the current Type.

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

Gibt die öffentlichen und nicht öffentlichen geschachtelten Typen zurück, die von diesem Typ deklariert oder geerbt werden.Returns the public and non-public nested types that are declared or inherited by this type.

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

Gibt sämtliche öffentlichen Eigenschaften des aktuellen Type zurück.Returns all the public properties of the current Type.

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

Gibt alle öffentlichen und nicht öffentlichen Eigenschaften zurück, die gemäß Angabe von diesem Typ deklariert oder geerbt wurden.Returns all the public and non-public properties declared or inherited by this type, as specified.

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

Sucht die öffentliche Eigenschaft mit dem angegebenen Namen.Searches for the public property with the specified name.

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

Sucht die angegebene Eigenschaft unter Verwendung der angegebenen Bindungseinschränkungen.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[])

Sucht anhand der angegebenen Bindungseinschränkungen nach der angegebenen Eigenschaft, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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)

Sucht die öffentliche Eigenschaft mit dem angegebenen Namen und Rückgabetyp.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[])

Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen entsprechen.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[])

Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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[])

Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen entsprechen.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[])

Sucht beim Überschreiben in einer abgeleiteten Klasse unter Verwendung der angegebenen Bindungseinschränkungen nach der angegebenen Eigenschaft, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen.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()

Ruft den aktuellen Type ab.Gets the current Type.

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

Gibt den zugrunde liegenden Typcode dieser Type-Instanz zurück.Returns the underlying type code of this Type instance.

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

Implementiert beim Überschreiben in einer abgeleiteten Klasse die HasElementType-Eigenschaft und bestimmt, ob der aktuelle Type einen anderen Typ umfasst oder auf einen solchen verweist, d. h. ob der aktuelle Type ein Array oder Zeiger ist oder als Verweis übergeben wird.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[])

Ruft den angegebenen Member auf, der den angegebenen Bindungseinschränkungen und der angegebenen Argumentliste entspricht.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)

Ruft den angegebenen Member auf, der den angegebenen Bindungseinschränkungen sowie der angegebenen Argumentliste und Kultur entspricht.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[])

Ruft den angegebenen Member auf.Invokes the specified member. Die Methode, die aufgerufen werden soll, muss zugänglich sein und mit der angegebenen Argumentliste unter den Einschränkungen des angegebenen Binders und der Aufrufattribute die spezifischste Übereinstimmung bereitstellen.The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes.

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

Implementiert beim Überschreiben in einer abgeleiteten Klasse die IsArray-Eigenschaft und bestimmt, ob Type ein Array ist.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)

Ruft einen Wert ab, der angibt, ob ein angegebenes Type diesem Objekt zugeordnet werden kann.Gets a value that indicates whether a specified Type can be assigned to this object.

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

Ruft einen Wert ab, der angibt, ob ein angegebenes TypeInfo-Objekt diesem Objekt zugewiesen werden kann.Gets a value that indicates whether a specified TypeInfo object can be assigned to this object.

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

Implementiert beim Überschreiben in einer abgeleiteten Klasse die IsByRef-Eigenschaft und bestimmt, ob Type als Verweis übergeben wird.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()

Implementiert beim Überschreiben in einer abgeleiteten Klasse die IsCOMObject-Eigenschaft und bestimmt, ob Type ein COM-Objekt ist.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()

Implementiert die IsContextful-Eigenschaft und bestimmt, ob Type in einen Kontext aufgenommen werden kann.Implements the IsContextful property and determines whether the Type can be hosted in a context.

(Inherited from Type)
IsCreated() IsCreated() IsCreated() IsCreated()

Gibt einen Wert zurück, der angibt, ob der aktuelle dynamische Typ erstellt wurde.Returns a value that indicates whether the current dynamic type has been created.

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

Bestimmt, ob ein benutzerdefiniertes Attribut auf den aktuellen Typ angewendet wird.Determines whether a custom attribute is applied to the current type.

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

Gibt einen Wert zurück, der angibt, ob der angegebene Wert im aktuellen Enumerationstyp vorhanden ist.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)

Bestimmt, ob zwei COM-Typen die gleiche Identität haben und äquivalente Typen aufweisen können.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)

Bestimmt, ob das angegebene Objekt eine Instanz des aktuellen Type ist.Determines whether the specified object is an instance of the current Type.

(Inherited from Type)
IsMarshalByRefImpl() IsMarshalByRefImpl() IsMarshalByRefImpl() IsMarshalByRefImpl()

Implementiert die IsMarshalByRef-Eigenschaft und bestimmt, ob der Type als Verweis gemarshallt wird.Implements the IsMarshalByRef property and determines whether the Type is marshaled by reference.

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

Implementiert beim Überschreiben in einer abgeleiteten Klasse die IsPointer-Eigenschaft und bestimmt, ob Type ein Zeiger ist.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()

Implementiert beim Überschreiben in einer abgeleiteten Klasse die IsPrimitive-Eigenschaft und bestimmt, ob Type zu den primitiven Typen gehört.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)

Bestimmt, ob dieser Typ von einem angegebenen Typ abgeleitet ist.Determines whether this type is derived from a specified type.

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

Implementiert die IsValueType-Eigenschaft und bestimmt, ob Type ein Werttyp ist, also weder eine Klasse noch eine Schnittstelle.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()

Gibt ein Type-Objekt zurück, das ein eindimensionales Array vom aktuellen Typ mit einer unteren Grenze von 0 (null) darstellt.Returns a Type object that represents a one-dimensional array of the current type, with a lower bound of zero.

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

Gibt ein Type-Objekt zurück, das ein Array vom aktuellen Typ mit der angegebenen Anzahl von Dimensionen darstellt.Returns a Type object that represents an array of the current type, with the specified number of dimensions.

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

Gibt ein Type-Objekt zurück, das beim Übergeben als ref-Parameter (ByRef in Visual Basic) den aktuellen Typ darstellt.Returns a Type object that represents the current type when passed as a ref parameter (ByRef in Visual Basic).

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

Ersetzt die Typparameter der aktuellen generischen Typdefinition durch die Elemente eines Arrays von Typen und gibt den resultierenden konstruierten Typ zurück.Substitutes the elements of an array of types for the type parameters of the current generic type definition, and returns the resulting constructed type.

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

Gibt ein Type-Objekt zurück, das den Typ eines nicht verwalteten Zeigers auf den aktuellen Typ darstellt.Returns a Type object that represents the type of an unmanaged pointer to the current type.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[]) SetCustomAttribute(ConstructorInfo, Byte[])

Legt ein benutzerdefiniertes Attribut mithilfe eines angegebenen benutzerdefinierten Attribut-BLOBs fest.Sets a custom attribute using a specified custom attribute blob.

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

Legt ein benutzerdefiniertes Attribut mithilfe eines benutzerdefinierten Attribut-Generators fest.Set a custom attribute using a custom attribute builder.

SetParent(Type) SetParent(Type) SetParent(Type) SetParent(Type)

Legt den Basistyp des Typs fest, der sich derzeit in Bearbeitung befindet.Sets the base type of the type currently under construction.

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

Gibt den Namen des Typs ohne den Namespace zurück.Returns the name of the type excluding the namespace.

Explizite Schnittstellenimplementierungen

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)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

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

Ruft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt.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)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.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)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 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)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.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)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.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)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.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)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 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)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Type)
_TypeBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _TypeBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _TypeBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _TypeBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

_TypeBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) _TypeBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) _TypeBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) _TypeBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_TypeBuilder.GetTypeInfoCount(UInt32) _TypeBuilder.GetTypeInfoCount(UInt32) _TypeBuilder.GetTypeInfoCount(UInt32) _TypeBuilder.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

Erweiterungsmethoden

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

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.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)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.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)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.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)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.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)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden.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)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.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)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.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)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.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)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.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)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.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)

Gibt an, ob irgend welche benutzerdefinierten Attribute eines bestimmten Typs auf eines angegebenen Members angewendet werden.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)

Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen angegebenen Member und optional auf dessen Vorgänger angewendet werden.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)

Gibt die TypeInfo-Darstellung eines angegebenen Typs zurück.Returns the TypeInfo representation of the specified type.

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

Ruft ein Metadatentoken für das angegebene Element ab, falls verfügbar.Gets a metadata token for the given member, if available.

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

Gibt einen Wert zurück, der angibt, ob ein Metadatentoken für das angegebene Element verfügbar ist.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)

Ruft ein Objekt ab, das das angegebene Ereignis darstellt.Retrieves an object that represents the specified event.

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

Ruft eine Auflistung ab, die alle Ereignisse darstellt, die für einen bestimmten Typ definiert werden.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)

Ruft ein Objekt ab, das ein bestimmtes Feld darstellt.Retrieves an object that represents a specified field.

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

Ruft eine Auflistung ab, die alle Felder darstellt, die für einen bestimmten Typ definiert werden.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[])

Ruft ein Objekt ab, das eine angegebene Methode darstellt.Retrieves an object that represents a specified method.

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

Ruft eine Auflistung ab, die alle Methoden darstellt, die für einen bestimmten Typ definiert werden.Retrieves a collection that represents all methods defined on a specified type.

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

Ruft eine Auflistung ab, die alle Eigenschaften darstellt, die für einen bestimmten Typ definiert werden.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)

Ruft ein Objekt ab, das eine angegebene Eigenschaft darstellt.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)

Gilt für:

Siehe auch