Megosztás a következőn keresztül:


Rendszer. Önkifejezés ion. Emit.MethodBuilder osztály

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

Az MethodBuilder osztály egy közös köztes nyelv (CIL) metódusának teljes leírására szolgál, beleértve a nevet, az attribútumokat, az aláírást és a metódus törzsét. Az osztályokkal együtt használják az TypeBuilder osztályok futásidőben történő létrehozására.

A tükrözési emit használatával globális metódusokat definiálhat, és típustagokként definiálhat metódusokat. A metódusokat definiáló API-k objektumokat adnak vissza MethodBuilder .

Globális módszerek

A globális metódus a metódussal ModuleBuilder.DefineGlobalMethod van definiálva, amely egy objektumot MethodBuilder ad vissza.

A globális módszereknek statikusnak kell lenniük. Ha egy dinamikus modul globális metódusokat tartalmaz, a metódust a ModuleBuilder.CreateGlobalFunctions dinamikus modul vagy a dinamikus szerelvény megőrzése előtt kell meghívni, mert a közös nyelvi futtatókörnyezet elhalasztja a dinamikus modul javítását, amíg az összes globális függvény meg nem van határozva.

A globális natív metódus a ModuleBuilder.DefinePInvokeMethod metódus használatával van definiálva. A platformhívási (PInvoke) metódusokat nem lehet absztraktnak vagy virtuálisnak minősíteni. A futtatókörnyezet beállítja a MethodAttributes.PinvokeImpl platformhívási metódus attribútumát.

Metódusok a típusok tagjaiként

A metódus típustagként van definiálva a TypeBuilder.DefineMethod metódus használatával, amely egy objektumot MethodBuilder ad vissza.

A DefineParameter metódus egy paraméter vagy a visszatérési érték nevének és paraméterattribútumainak beállítására szolgál. A ParameterBuilder metódus által visszaadott objektum egy paramétert vagy visszatérési értéket jelöl. Az ParameterBuilder objektum használható a marshaling beállítására, az állandó érték beállítására és egyéni attribútumok alkalmazására.

Attribútumok

Az enumerálás tagjai MethodAttributes meghatározzák a dinamikus metódus pontos karakterét:

Ismert problémák