Freigeben über


System.Reflection.Emit.MethodBuilder-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die MethodBuilder Klasse wird verwendet, um eine Methode in allgemeiner Zwischensprache (CIL) vollständig zu beschreiben, einschließlich Name, Attribute, Signatur und Methodentext. Sie wird in Verbindung mit der TypeBuilder Klasse verwendet, um Klassen zur Laufzeit zu erstellen.

Mithilfe von Reflection Emit können Sie globale Methoden definieren und Methoden als Typmmber definieren. Die APIs, die Methoden definieren, geben Objekte zurück MethodBuilder .

Globale Methoden

Eine globale Methode wird mithilfe der ModuleBuilder.DefineGlobalMethod Methode definiert, die ein MethodBuilder Objekt zurückgibt.

Globale Methoden müssen statisch sein. Wenn ein dynamisches Modul globale Methoden enthält, muss die ModuleBuilder.CreateGlobalFunctions Methode aufgerufen werden, bevor das dynamische Modul oder die enthaltende dynamische Assembly beibehalten wird, da die Common Language Runtime das Beheben des dynamischen Moduls verzögert, bis alle globalen Funktionen definiert wurden.

Eine globale systemeigene Methode wird mithilfe der ModuleBuilder.DefinePInvokeMethod Methode definiert. Plattformaufrufmethoden (PInvoke) dürfen nicht abstrakt oder virtuell deklariert werden. Die Laufzeit legt das MethodAttributes.PinvokeImpl Attribut für eine Plattformaufrufmethode fest.

Methoden als Elemente von Typen

Eine Methode wird mithilfe der TypeBuilder.DefineMethod Methode, die ein MethodBuilder Objekt zurückgibt, als Typmemm definiert.

Die DefineParameter Methode wird verwendet, um den Namen und die Parameterattribute eines Parameters oder des Rückgabewerts festzulegen. Das ParameterBuilder von dieser Methode zurückgegebene Objekt stellt einen Parameter oder den Rückgabewert dar. Das ParameterBuilder Objekt kann verwendet werden, um das Marshalling festzulegen, den Konstantenwert festzulegen und benutzerdefinierte Attribute anzuwenden.

Attribute

Elemente der MethodAttributes Enumeration definieren das genaue Zeichen einer dynamischen Methode:

Bekannte Probleme