MethodBuilder Klasse

Definition

Definiert eine Methode (oder einen Konstruktor) für eine dynamischen Klasse und stellt diese(n) dar.Defines and represents a method (or constructor) on a dynamic class.

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

Beispiele

Im folgenden Beispiel wird die MethodBuilder-Klasse verwendet, um eine Methode innerhalb eines dynamischen Typs zu erstellen.The following example uses the MethodBuilder class to create a method within a dynamic type.

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

void AddMethodDynamically( TypeBuilder^ myTypeBld, 
                           String^ mthdName, 
                           array<Type^>^ mthdParams, 
                           Type^ returnType, 
                           String^ mthdAction )
{
   MethodBuilder^ myMthdBld = myTypeBld->DefineMethod( mthdName, static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::Static), returnType, mthdParams );
   ILGenerator^ ILOut = myMthdBld->GetILGenerator();
   int numParams = mthdParams->Length;
   for ( Byte x = 0; x < numParams; x++ )
   {
      ILOut->Emit( OpCodes::Ldarg_S, x );

   }
   if ( numParams > 1 )
   {
      for ( int y = 0; y < (numParams - 1); y++ )
      {
         if ( mthdAction->Equals( "A" ) )
                  ILOut->Emit( OpCodes::Add );
         else
         if ( mthdAction->Equals( "M" ) )
                  ILOut->Emit( OpCodes::Mul );
         else
                  ILOut->Emit( OpCodes::Add );

      }
   }

   ILOut->Emit( OpCodes::Ret );
};

void main()
{
   AppDomain^ myDomain = AppDomain::CurrentDomain;
   AssemblyName^ asmName = gcnew AssemblyName;
   asmName->Name = "MyDynamicAsm";
   AssemblyBuilder^ myAsmBuilder = myDomain->DefineDynamicAssembly( asmName, 
                                                                    AssemblyBuilderAccess::RunAndSave );
   ModuleBuilder^ myModule = myAsmBuilder->DefineDynamicModule( "MyDynamicAsm", 
                                                                "MyDynamicAsm.dll" );
   TypeBuilder^ myTypeBld = myModule->DefineType( "MyDynamicType", 
                                                  TypeAttributes::Public );
   
   // Get info from the user to build the method dynamically.
   Console::WriteLine( "Let's build a simple method dynamically!" );
   Console::WriteLine( "Please enter a few numbers, separated by spaces." );
   String^ inputNums = Console::ReadLine();
   Console::Write( "Do you want to [A]dd (default) or [M]ultiply these numbers? " );
   String^ myMthdAction = Console::ReadLine()->ToUpper();
   Console::Write( "Lastly, what do you want to name your new dynamic method? " );
   String^ myMthdName = Console::ReadLine();
   
   // Process inputNums into an array and create a corresponding Type array
   int index = 0;
   array<String^>^inputNumsList = inputNums->Split();
   array<Type^>^myMthdParams = gcnew array<Type^>(inputNumsList->Length);
   array<Object^>^inputValsList = gcnew array<Object^>(inputNumsList->Length);
   for each (String^ inputNum in inputNumsList)
   {
      inputValsList[ index ] = Convert::ToInt32( inputNum );
      myMthdParams[ index ] = int::typeid;
      index++;
   }

   
   // Now, call the method building method with the parameters, passing the
   // TypeBuilder by reference.
   AddMethodDynamically( myTypeBld, 
                         myMthdName, 
                         myMthdParams, 
                         int::typeid, 
                         myMthdAction );
   Type^ myType = myTypeBld->CreateType();

   Console::WriteLine( "---" );
   Console::WriteLine( "The result of {0} the inputted values is: {1}", 
                       ((myMthdAction->Equals( "M" )) ? "multiplying" : "adding"), 
                       myType->InvokeMember( myMthdName, 
                                             BindingFlags::InvokeMethod | BindingFlags::Public | BindingFlags::Static, 
                       nullptr, 
                       nullptr, 
                       inputValsList ) );
   Console::WriteLine( "---" );
   
   // Let's take a look at the method we created.
   // If you are interested in seeing the MSIL generated dynamically for the method
   // your program generated, change to the directory where you ran the compiled
   // code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
   // of manifest contents appears, click on "MyDynamicType" and then on the name of
   // of the method you provided during execution.

   myAsmBuilder->Save( "MyDynamicAsm.dll" );

   MethodInfo^ myMthdInfo = myType->GetMethod( myMthdName );
   Console::WriteLine( "Your Dynamic Method: {0};", myMthdInfo );
}


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

class DemoMethodBuilder 
{
    public static void AddMethodDynamically (TypeBuilder myTypeBld,
                                             string mthdName,
                                             Type[] mthdParams, 
                                             Type returnType,
                                             string mthdAction) 
    {
    
        MethodBuilder myMthdBld = myTypeBld.DefineMethod(
                                             mthdName,
                                             MethodAttributes.Public |
                                             MethodAttributes.Static,
                                             returnType,
                                             mthdParams);        

        ILGenerator ILout = myMthdBld.GetILGenerator();
        
        int numParams = mthdParams.Length;

        for (byte x=0; x < numParams; x++) 
        {
            ILout.Emit(OpCodes.Ldarg_S, x);
        }

        if (numParams > 1) 
        {
            for (int y=0; y<(numParams-1); y++) 
            {
                switch (mthdAction) 
                {
                    case "A": ILout.Emit(OpCodes.Add);
                              break;
                    case "M": ILout.Emit(OpCodes.Mul);
                              break;
                    default: ILout.Emit(OpCodes.Add);
                              break;
                }
            }
        }
        ILout.Emit(OpCodes.Ret);
    }

    public static void Main()
    {
        AppDomain myDomain = AppDomain.CurrentDomain;
        AssemblyName asmName = new AssemblyName();
        asmName.Name = "MyDynamicAsm";
        
        AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
                                       asmName, 
                                       AssemblyBuilderAccess.RunAndSave);

        ModuleBuilder myModule = myAsmBuilder.DefineDynamicModule("MyDynamicAsm",
                                                                  "MyDynamicAsm.dll");

        TypeBuilder myTypeBld = myModule.DefineType("MyDynamicType",
                                                    TypeAttributes.Public);           

        // Get info from the user to build the method dynamically.
        Console.WriteLine("Let's build a simple method dynamically!");
        Console.WriteLine("Please enter a few numbers, separated by spaces.");
        string inputNums = Console.ReadLine();
        Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ");
        string myMthdAction = Console.ReadLine().ToUpper();
        Console.Write("Lastly, what do you want to name your new dynamic method? ");
        string myMthdName = Console.ReadLine();
        
        // Process inputNums into an array and create a corresponding Type array 
        int index = 0;
        string[] inputNumsList = inputNums.Split();

        Type[] myMthdParams = new Type[inputNumsList.Length];
        object[] inputValsList = new object[inputNumsList.Length];

        foreach (string inputNum in inputNumsList) 
        {
            inputValsList[index] = (object)Convert.ToInt32(inputNum);
                myMthdParams[index] = typeof(int);
                index++;
        } 

        // Now, call the method building method with the parameters, passing the 
        // TypeBuilder by reference.
        AddMethodDynamically(myTypeBld,
                             myMthdName,
                             myMthdParams,
                             typeof(int),        
                             myMthdAction);

        Type myType = myTypeBld.CreateType();

        Console.WriteLine("---");
        Console.WriteLine("The result of {0} the inputted values is: {1}",
                          ((myMthdAction == "M") ? "multiplying" : "adding"),
                          myType.InvokeMember(myMthdName,
                          BindingFlags.InvokeMethod | BindingFlags.Public |
                          BindingFlags.Static,
                          null,
                          null,
                          inputValsList));
        Console.WriteLine("---");

        // Let's take a look at the method we created.
        // If you are interested in seeing the MSIL generated dynamically for the method
        // your program generated, change to the directory where you ran the compiled
        // code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
        // of manifest contents appears, click on "MyDynamicType" and then on the name of
        // of the method you provided during execution.

        myAsmBuilder.Save("MyDynamicAsm.dll");

        MethodInfo myMthdInfo = myType.GetMethod(myMthdName);
        Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString());    
    }
}
Imports System.Reflection
Imports System.Reflection.Emit

Class DemoMethodBuilder
   
   Public Shared Sub AddMethodDynamically(ByVal myTypeBld As TypeBuilder, _
                                          ByVal mthdName As String, _
                                          ByVal mthdParams() As Type, _
                                          ByVal returnType As Type, _
                                          ByVal mthdAction As String)
      
      Dim myMthdBld As MethodBuilder = myTypeBld.DefineMethod(mthdName, _
                                       MethodAttributes.Public Or MethodAttributes.Static, _
                                       returnType, _
                                       mthdParams)
      
      Dim ILout As ILGenerator = myMthdBld.GetILGenerator()
      
      Dim numParams As Integer = mthdParams.Length
      
      Dim x As Byte
      For x = 0 To numParams - 1
         ILout.Emit(OpCodes.Ldarg_S, x)
      Next x
      
      If numParams > 1 Then
         Dim y As Integer
         For y = 0 To (numParams - 1) - 1
            Select Case mthdAction
               Case "A"
                  ILout.Emit(OpCodes.Add)
               Case "M"
                  ILout.Emit(OpCodes.Mul)
               Case Else
                  ILout.Emit(OpCodes.Add)
            End Select
         Next y
      End If
      ILout.Emit(OpCodes.Ret)
   End Sub 
    
   
   Public Shared Sub Main()
      
      Dim myDomain As AppDomain = AppDomain.CurrentDomain
      Dim asmName As New AssemblyName()
      asmName.Name = "MyDynamicAsm"
      
      Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(asmName, _
                                            AssemblyBuilderAccess.RunAndSave)
      
      Dim myModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyDynamicAsm", _
                                                                       "MyDynamicAsm.dll")
      
      Dim myTypeBld As TypeBuilder = myModule.DefineType("MyDynamicType", TypeAttributes.Public)
      
      ' Get info from the user to build the method dynamically.
      Console.WriteLine("Let's build a simple method dynamically!")
      Console.WriteLine("Please enter a few numbers, separated by spaces.")
      Dim inputNums As String = Console.ReadLine()
      Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ")
      Dim myMthdAction As String = Console.ReadLine().ToUpper()
      Console.Write("Lastly, what do you want to name your new dynamic method? ")
      Dim myMthdName As String = Console.ReadLine()
      
      ' Process inputNums into an array and create a corresponding Type array 
      Dim index As Integer = 0
      Dim inputNumsList As String() = inputNums.Split()
      
      Dim myMthdParams(inputNumsList.Length - 1) As Type
      Dim inputValsList(inputNumsList.Length - 1) As Object
      
      
      Dim inputNum As String
      For Each inputNum In  inputNumsList
         inputValsList(index) = CType(Convert.ToInt32(inputNum), Object)
         myMthdParams(index) = GetType(Integer)
         index += 1
      Next inputNum
      
      ' Now, call the method building method with the parameters, passing the 
      ' TypeBuilder by reference.
      AddMethodDynamically(myTypeBld, myMthdName, myMthdParams, GetType(Integer), myMthdAction)
      
      Dim myType As Type = myTypeBld.CreateType()
     
      Dim description as String 
      If myMthdAction = "M" Then
         description = "multiplying"
      Else
         description = "adding"
      End If

      Console.WriteLine("---")
      Console.WriteLine("The result of {0} the values is: {1}", _
                         description, _
                         myType.InvokeMember(myMthdName, _
                                             BindingFlags.InvokeMethod _
                                               Or BindingFlags.Public _
                                               Or BindingFlags.Static, _
                                             Nothing, _
                                             Nothing, _
                                             inputValsList)) 
      Console.WriteLine("---")

      ' If you are interested in seeing the MSIL generated dynamically for the method
      ' your program generated, change to the directory where you ran the compiled
      ' code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
      ' of manifest contents appears, click on "MyDynamicType" and then on the name of
      ' of the method you provided during execution.
 
      myAsmBuilder.Save("MyDynamicAsm.dll") 

      Dim myMthdInfo As MethodInfo = myType.GetMethod(myMthdName)
      Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString())
   End Sub 
End Class 

Hinweise

Die MethodBuilder-Klasse wird verwendet, um eine Methode in der Microsoft Intermediate Language (MSIL) vollständig zu beschreiben, einschließlich Name, Attribute, Signatur und Methoden Text.The MethodBuilder class is used to fully describe a method in Microsoft intermediate language (MSIL), including the name, attributes, signature, and method body. Sie wird in Verbindung mit der TypeBuilder-Klasse verwendet, um Klassen zur Laufzeit zu erstellen.It is used in conjunction with the TypeBuilder class to create classes at runtime.

Globale Methoden und Methoden als TypmemberGlobal methods and methods as type members

Mithilfe der Reflektionsausgabe können Sie globale Methoden definieren und Methoden als Typmember definieren.You can use reflection emit to define global methods and to define methods as type members. Die APIs, die Methoden definieren, geben MethodBuilder Objekte zurück.The APIs that define methods return MethodBuilder objects.

Globale MethodenGlobal methods

Eine globale Methode wird mit der ModuleBuilder.DefineGlobalMethod-Methode definiert, die ein MethodBuilder -Objekt zurückgibt.A global method is defined by using the ModuleBuilder.DefineGlobalMethod method, which returns a MethodBuilder object.

Globale Methoden müssen statisch sein.Global methods must be static. Wenn ein dynamisches Modul globale Methoden enthält, muss die ModuleBuilder.CreateGlobalFunctions-Methode vor dem Beibehalten des dynamischen Moduls oder der enthaltenden dynamischen Assembly aufgerufen werden, da die Common Language Runtime verschoben das dynamische Modul repariert, bis alle globalen Funktionen definiert wurden.If a dynamic module contains global methods, the ModuleBuilder.CreateGlobalFunctions method must be called before persisting the dynamic module or the containing dynamic assembly because the common language runtime postpones fixing up the dynamic module until all global functions have been defined.

Eine globale Native Methode wird mit der ModuleBuilder.DefinePInvokeMethod-Methode definiert.A global native method is defined by using the ModuleBuilder.DefinePInvokeMethod method. PInvoke-Methoden (Platt Form Aufrufe) dürfen nicht als abstrakt oder virtuell deklariert werden.Platform invoke (PInvoke) methods must not be declared abstract or virtual. Die Laufzeit legt das MethodAttributes.PinvokeImpl-Attribut für eine Platt Form Aufruf Methode fest.The runtime sets the MethodAttributes.PinvokeImpl attribute for a platform invoke method.

Methoden als Member von TypenMethods as members of types

Eine Methode wird als Typmember mithilfe der TypeBuilder.DefineMethod-Methode definiert, die ein MethodBuilder-Objekt zurückgibt.A method is defined as a type member by using the TypeBuilder.DefineMethod method, which returns a MethodBuilder object.

Die DefineParameter-Methode wird verwendet, um den Namen und die Parameter Attribute eines Parameters oder des Rückgabewerts festzulegen.The DefineParameter method is used to set the name and parameter attributes of a parameter, or of the return value. Das ParameterBuilder Objekt, das von dieser Methode zurückgegeben wird, stellt einen Parameter oder den Rückgabewert dar.The ParameterBuilder object returned by this method represents a parameter or the return value. Das ParameterBuilder-Objekt kann zum Festlegen des Marshalling, zum Festlegen des konstanten Werts und zum Anwenden benutzerdefinierter Attribute verwendet werden.The ParameterBuilder object can be used to set the marshaling, to set the constant value, and to apply custom attributes.

AttributeAttributes

Member der MethodAttributes-Enumeration definieren das exakte Zeichen einer dynamischen Methode:Members of the MethodAttributes enumeration define the precise character of a dynamic method:

Bekannte ProblemeKnown Issues

Eigenschaften

Attributes

Ruft die Attribute für diese Methode ab.Retrieves the attributes for this method.

CallingConvention

Gibt die Aufrufkonvention der Methode zurück.Returns the calling convention of the method.

ContainsGenericParameters

Für diesen Typ nicht unterstützt.Not supported for this type.

CustomAttributes

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

(Geerbt von MemberInfo)
DeclaringType

Gibt den Typ zurück, der diese Methode deklariert.Returns the type that declares this method.

InitLocals

Ruft einen booleschen Wert ab, der angibt, ob die lokalen Variablen in dieser Methode mit 0 (null) initialisiert werden, oder legt diesen Wert fest.Gets or sets a Boolean value that specifies whether the local variables in this method are zero initialized. Der Standardwert dieser Eigenschaft ist true.The default value of this property is true.

IsAbstract

Ruft einen Wert ab, der angibt, ob es sich um eine abstrakte Methode handelt.Gets a value indicating whether the method is abstract.

(Geerbt von MethodBase)
IsAssembly

Ruft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieser Methode bzw. dieses Konstruktors von Assembly beschrieben wird, d. h., die Methode oder der Konstruktor ist höchstens für andere Typen in derselben Assembly sichtbar, nicht jedoch für abgeleitete Typen außerhalb der Assembly.Gets a value indicating whether the potential visibility of this method or constructor is described by Assembly; that is, the method or constructor is visible at most to other types in the same assembly, and is not visible to derived types outside the assembly.

(Geerbt von MethodBase)
IsCollectible

Ruft einen Wert ab, der angibt, ob dieses MemberInfo-Objekt Teil einer Assembly ist, die sich in einem entladbaren AssemblyLoadContext befindet.Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Geerbt von MemberInfo)
IsConstructedGenericMethod
IsConstructor

Ruft einen Wert ab, der angibt, ob die Methode ein Konstruktor ist.Gets a value indicating whether the method is a constructor.

(Geerbt von MethodBase)
IsFamily

Ruft einen Wert ab, der angibt, ob die Sichtbarkeit dieser Methode bzw. dieses Konstruktors durch Family beschrieben wird, d. h., die Methode oder der Konstruktor ist nur sichtbar innerhalb ihrer bzw. seiner Klassen und in den abgeleiteten Klassen.Gets a value indicating whether the visibility of this method or constructor is described by Family; that is, the method or constructor is visible only within its class and derived classes.

(Geerbt von MethodBase)
IsFamilyAndAssembly

Ruft einen Wert ab, der angibt, ob die Sichtbarkeit dieser Methode oder dieses Konstruktors durch FamANDAssem beschrieben wird, d. h., die Methode oder der Konstruktor kann von abgeleiteten Klassen aufgerufen werden, jedoch nur, wenn sie bzw. er sich in derselben Assembly befindet.Gets a value indicating whether the visibility of this method or constructor is described by FamANDAssem; that is, the method or constructor can be called by derived classes, but only if they are in the same assembly.

(Geerbt von MethodBase)
IsFamilyOrAssembly

Ruft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieser Methode oder dieses Konstruktors durch FamORAssem beschrieben wird, d. h., die Methode bzw. der Konstruktor kann von Klassen in derselben Assembly und von abgeleiteten Klassen abgerufen werden, wobei es keine Rolle spielt, an welcher Position sich diese befinden.Gets a value indicating whether the potential visibility of this method or constructor is described by FamORAssem; that is, the method or constructor can be called by derived classes wherever they are, and by classes in the same assembly.

(Geerbt von MethodBase)
IsFinal

Ruft einen Wert ab, der angibt, ob diese Methode final ist.Gets a value indicating whether this method is final.

(Geerbt von MethodBase)
IsGenericMethod

Ruft einen Wert ab, der angibt, ob die Methode eine generische Methode ist.Gets a value indicating whether the method is a generic method.

IsGenericMethodDefinition

Ruft einen Wert ab, der angibt, ob das aktuelle MethodBuilder-Objekt die Definition einer generischen Methode darstellt.Gets a value indicating whether the current MethodBuilder object represents the definition of a generic method.

IsHideBySig

Ruft einen Wert ab, der angibt, ob nur ein Member derselben Art mit einer identischen Signatur in der abgeleiteten Klasse verborgen ist.Gets a value indicating whether only a member of the same kind with exactly the same signature is hidden in the derived class.

(Geerbt von MethodBase)
IsPrivate

Ruft einen Wert ab, der angibt, ob es sich um einen privaten Member handelt.Gets a value indicating whether this member is private.

(Geerbt von MethodBase)
IsPublic

Ruft einen Wert ab, der angibt, ob dies eine öffentliche Methode ist.Gets a value indicating whether this is a public method.

(Geerbt von MethodBase)
IsSecurityCritical

Löst in allen Fällen eine NotSupportedException aus.Throws a NotSupportedException in all cases.

IsSecuritySafeCritical

Löst in allen Fällen eine NotSupportedException aus.Throws a NotSupportedException in all cases.

IsSecurityTransparent

Löst in allen Fällen eine NotSupportedException aus.Throws a NotSupportedException in all cases.

IsSpecialName

Ruft einen Wert ab, der angibt, ob diese Methode einen besonderen Namen hat.Gets a value indicating whether this method has a special name.

(Geerbt von MethodBase)
IsStatic

Ruft einen Wert ab, der angibt, ob die Methode static ist.Gets a value indicating whether the method is static.

(Geerbt von MethodBase)
IsVirtual

Ruft einen Wert ab, der angibt, ob die Methode virtual ist.Gets a value indicating whether the method is virtual.

(Geerbt von MethodBase)
MemberType

Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member eine Methode ist.Gets a MemberTypes value indicating that this member is a method.

(Geerbt von MethodInfo)
MetadataToken

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

(Geerbt von MemberInfo)
MethodHandle

Ruft das interne Handle für die Methode ab.Retrieves the internal handle for the method. Verwenden Sie dieses Handle, um auf das zugrunde liegende Metadatenhandle zuzugreifen.Use this handle to access the underlying metadata handle.

MethodImplementationFlags
Module

Ruft das Modul ab, in dem die aktuelle Methode definiert wird.Gets the module in which the current method is being defined.

Name

Ruft den Namen dieser Methode ab.Retrieves the name of this method.

ReflectedType

Ruft die Klasse ab, die bei der Reflektion verwendet wurde, um dieses Objekt abzurufen.Retrieves the class that was used in reflection to obtain this object.

ReturnParameter

Ruft ein ParameterInfo-Objekt ab, das Informationen zum Rückgabetyp der Methode enthält, z: B. ob der Rückgabetyp benutzerdefinierte Modifizierer hat.Gets a ParameterInfo object that contains information about the return type of the method, such as whether the return type has custom modifiers.

ReturnType

Ruft den Rückgabetyp der Methode ab, die von diesem MethodBuilder dargestellt wird.Gets the return type of the method represented by this MethodBuilder.

ReturnTypeCustomAttributes

Gibt die benutzerdefinierten Attribute des Rückgabetyps der Methode zurück.Returns the custom attributes of the method's return type.

Signature

Ruft die Signatur der Methode ab.Retrieves the signature of the method.

Methoden

AddDeclarativeSecurity(SecurityAction, PermissionSet)

Fügt dieser Methode deklarative Sicherheit hinzu.Adds declarative security to this method.

CreateDelegate(Type)

Erstellt aus dieser Methode einen Delegaten vom angegebenen Typ.Creates a delegate of the specified type from this method.

(Geerbt von MethodInfo)
CreateDelegate(Type, Object)

Erstellt einen Delegaten vom angegebenen Typ mit dem angegebenen Ziel aus dieser Methode.Creates a delegate of the specified type with the specified target from this method.

(Geerbt von MethodInfo)
CreateMethodBody(Byte[], Int32)

Erstellt den Text der Methode unter Verwendung eines angegebenen Bytearrays von MSIL-Anweisungen (Microsoft Intermediate Language).Creates the body of the method using a supplied byte array of Microsoft intermediate language (MSIL) instructions.

DefineGenericParameters(String[])

Legt die Anzahl von generischen Typparametern für die aktuelle Methode fest, gibt deren Namen an und gibt ein Array von GenericTypeParameterBuilder-Objekten zurück, das dazu verwendet werden kann, deren Einschränkungen zu definieren.Sets the number of generic type parameters for the current method, specifies their names, and returns an array of GenericTypeParameterBuilder objects that can be used to define their constraints.

DefineParameter(Int32, ParameterAttributes, String)

Legt die Parameterattribute und den Namen eines Parameters dieser Methode oder des Rückgabewerts dieser Methode fest.Sets the parameter attributes and the name of a parameter of this method, or of the return value of this method. Gibt einen ParameterBuilder zurück, mit dem benutzerdefinierte Attribute angewendet werden können.Returns a ParameterBuilder that can be used to apply custom attributes.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dieser Instanz ist.Determines whether the given object is equal to this instance.

GetBaseDefinition()

Gibt die Basisimplementierung für eine Methode zurück.Return the base implementation for a method.

GetCustomAttributes(Boolean)

Gibt alle für diese Methode definierten benutzerdefinierten Attribute zurück.Returns all the custom attributes defined for this method.

GetCustomAttributes(Type, Boolean)

Gibt die benutzerdefinierten Attribute zurück, die durch den angegebenen Typ identifiziert werden.Returns the custom attributes identified by the given type.

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.

(Geerbt von MemberInfo)
GetGenericArguments()

Gibt ein Array von GenericTypeParameterBuilder-Objekten zurück, die die Typparameter der Methode darstellen, wenn diese generisch ist.Returns an array of GenericTypeParameterBuilder objects that represent the type parameters of the method, if it is generic.

GetGenericMethodDefinition()

Gibt diese Methode zurück.Returns this method.

GetHashCode()

Ruft den Hashcode für diese Methode ab.Gets the hash code for this method.

GetILGenerator()

Gibt einen ILGenerator mit der standardmäßigen MSIL-Streamgröße (Microsoft Intermediate Language) von 64 Bytes für diese Methode zurück.Returns an ILGenerator for this method with a default Microsoft intermediate language (MSIL) stream size of 64 bytes.

GetILGenerator(Int32)

Gibt einen ILGenerator mit der angegebenen MSIL-Streamgröße (Microsoft Intermediate Language) für diese Methode zurück.Returns an ILGenerator for this method with the specified Microsoft intermediate language (MSIL) stream size.

GetMethodBody()

Ruft beim Überschreiben in einer abgeleiteten Klasse ein MethodBody-Objekt ab, das den Zugriff auf den MSIL-Stream, auf lokale Variablen und auf Ausnahmen für die aktuelle Methode ermöglicht.When overridden in a derived class, gets a MethodBody object that provides access to the MSIL stream, local variables, and exceptions for the current method.

(Geerbt von MethodBase)
GetMethodImplementationFlags()

Gibt die Implementierungsflags für die Methode zurück.Returns the implementation flags for the method.

GetModule()

Gibt einen Verweis auf das Modul zurück, das diese Methode enthält.Returns a reference to the module that contains this method.

GetParameters()

Gibt die Parameter dieser Methode zurück.Returns the parameters of this method.

GetToken()

Gibt das MethodToken zurück, das das Token für diese Methode darstellt.Returns the MethodToken that represents the token for this method.

GetType() (Geerbt von MethodInfo)
HasSameMetadataDefinitionAs(MemberInfo) (Geerbt von MemberInfo)
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Ruft dynamisch und entsprechend den Einschränkungen des angegebenen Binders die Methode auf, die durch diese Instanz für das angegebene Objekt reflektiert wird. Übergibt dabei die angegebenen Parameter.Dynamically invokes the method reflected by this instance on the given object, passing along the specified parameters, and under the constraints of the given binder.

Invoke(Object, Object[]) (Geerbt von MethodInfo)
IsDefined(Type, Boolean)

Überprüft, ob der Typ des angegebenen benutzerdefinierten Attributs definiert ist.Checks if the specified custom attribute type is defined.

MakeGenericMethod(Type[])

Gibt eine aus der aktuellen generischen Methodendefinition mit den angegebenen generischen Typargumenten konstruierte generische Methode zurück.Returns a generic method constructed from the current generic method definition using the specified generic type arguments.

MemberwiseClone()

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

(Geerbt von Object)
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)

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

SetImplementationFlags(MethodImplAttributes)

Legt die Implementierungsflags für diese Methode fest.Sets the implementation flags for this method.

SetMarshal(UnmanagedMarshal)

Legt die Marshallinginformationen für den Rückgabetyp dieser Methode fest.Sets marshaling information for the return type of this method.

SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>)

Erstellt den Text der Methode unter Verwendung eines angegebenen Bytearrays von MSIL-Anweisungen (Microsoft Intermediate Language).Creates the body of the method by using a specified byte array of Microsoft intermediate language (MSIL) instructions.

SetParameters(Type[])

Legt die Anzahl und Typen der Parameter für eine Methode fest.Sets the number and types of parameters for a method.

SetReturnType(Type)

Legt den Rückgabetyp der Methode fest.Sets the return type of the method.

SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][])

Legt die Methodensignatur fest, einschließlich des Rückgabetyps, der Parametertypen und der erforderlichen und optionalen benutzerdefinierten Modifizierer für den Rückgabetyp und die Parametertypen.Sets the method signature, including the return type, the parameter types, and the required and optional custom modifiers of the return type and parameter types.

SetSymCustomAttribute(String, Byte[])

Legen Sie ein symbolisches benutzerdefiniertes Attribut mithilfe eines BLOBs fest.Set a symbolic custom attribute using a blob.

ToString()

Gibt diese MethodBuilder-Instanz als Zeichenfolge zurück.Returns this MethodBuilder instance as a string.

Explizite Schnittstellenimplementierungen

_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.

(Geerbt von MemberInfo)
_MemberInfo.GetType()

Ruft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt.Gets a Type object representing the MemberInfo class.

(Geerbt von MemberInfo)
_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.

(Geerbt von MemberInfo)
_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).

(Geerbt von MemberInfo)
_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.

(Geerbt von MemberInfo)
_MethodBase.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.

(Geerbt von MethodBase)
_MethodBase.GetType()

Eine Beschreibung dieses Members finden Sie unter GetType().For a description of this member, see GetType().

(Geerbt von MethodBase)
_MethodBase.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.

(Geerbt von MethodBase)
_MethodBase.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).

(Geerbt von MethodBase)
_MethodBase.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.

(Geerbt von MethodBase)
_MethodBase.IsAbstract

Eine Beschreibung dieses Members finden Sie unter IsAbstract.For a description of this member, see IsAbstract.

(Geerbt von MethodBase)
_MethodBase.IsAssembly

Eine Beschreibung dieses Members finden Sie unter IsAssembly.For a description of this member, see IsAssembly.

(Geerbt von MethodBase)
_MethodBase.IsConstructor

Eine Beschreibung dieses Members finden Sie unter IsConstructor.For a description of this member, see IsConstructor.

(Geerbt von MethodBase)
_MethodBase.IsFamily

Eine Beschreibung dieses Members finden Sie unter IsFamily.For a description of this member, see IsFamily.

(Geerbt von MethodBase)
_MethodBase.IsFamilyAndAssembly

Eine Beschreibung dieses Members finden Sie unter IsFamilyAndAssembly.For a description of this member, see IsFamilyAndAssembly.

(Geerbt von MethodBase)
_MethodBase.IsFamilyOrAssembly

Eine Beschreibung dieses Members finden Sie unter IsFamilyOrAssembly.For a description of this member, see IsFamilyOrAssembly.

(Geerbt von MethodBase)
_MethodBase.IsFinal

Eine Beschreibung dieses Members finden Sie unter IsFinal.For a description of this member, see IsFinal.

(Geerbt von MethodBase)
_MethodBase.IsHideBySig

Eine Beschreibung dieses Members finden Sie unter IsHideBySig.For a description of this member, see IsHideBySig.

(Geerbt von MethodBase)
_MethodBase.IsPrivate

Eine Beschreibung dieses Members finden Sie unter IsPrivate.For a description of this member, see IsPrivate.

(Geerbt von MethodBase)
_MethodBase.IsPublic

Eine Beschreibung dieses Members finden Sie unter IsPublic.For a description of this member, see IsPublic.

(Geerbt von MethodBase)
_MethodBase.IsSpecialName

Eine Beschreibung dieses Members finden Sie unter IsSpecialName.For a description of this member, see IsSpecialName.

(Geerbt von MethodBase)
_MethodBase.IsStatic

Eine Beschreibung dieses Members finden Sie unter IsStatic.For a description of this member, see IsStatic.

(Geerbt von MethodBase)
_MethodBase.IsVirtual

Eine Beschreibung dieses Members finden Sie unter IsVirtual.For a description of this member, see IsVirtual.

(Geerbt von MethodBase)
_MethodBuilder.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.

_MethodBuilder.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.

_MethodBuilder.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).

_MethodBuilder.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.

_MethodInfo.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.

(Geerbt von MethodInfo)
_MethodInfo.GetType()

Stellt Zugriff auf die GetType()-Methode aus COM bereit.Provides access to the GetType() method from COM.

(Geerbt von MethodInfo)
_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von MethodInfo)
_MethodInfo.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).

(Geerbt von MethodInfo)
_MethodInfo.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.

(Geerbt von MethodInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean) (Geerbt von MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) (Geerbt von MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean) (Geerbt von MemberInfo)

Erweiterungsmethoden

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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)

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.

GetBaseDefinition(MethodInfo)
GetRuntimeBaseDefinition(MethodInfo)

Ruft ein Objekt ab, das die angegebene Methode der direkten oder indirekten Basisklasse darstellt, in der die Methode am Anfang deklariert wurde.Retrieves an object that represents the specified method on the direct or indirect base class where the method was first declared.

Gilt für: