Classe System.Reflection.Emit.MethodBuilder

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

La MethodBuilder classe viene usata per descrivere completamente un metodo in common intermediate language (CIL), inclusi il nome, gli attributi, la firma e il corpo del metodo. Viene usato insieme alla TypeBuilder classe per creare classi in fase di esecuzione.

È possibile usare reflection emit per definire metodi globali e definire metodi come membri del tipo. API che definiscono i metodi restituiscono MethodBuilder oggetti.

Metodi globali

Un metodo globale viene definito utilizzando il ModuleBuilder.DefineGlobalMethod metodo , che restituisce un MethodBuilder oggetto .

I metodi globali devono essere statici. Se un modulo dinamico contiene metodi globali, è necessario chiamare il ModuleBuilder.CreateGlobalFunctions metodo prima di rendere persistente il modulo dinamico o l'assembly dinamico contenitore perché Common Language Runtime posticipa la correzione del modulo dinamico fino a quando non sono state definite tutte le funzioni globali.

Un metodo nativo globale viene definito usando il ModuleBuilder.DefinePInvokeMethod metodo . I metodi platform invoke (PInvoke) non devono essere dichiarati astratti o virtuali. Il runtime imposta l'attributo MethodAttributes.PinvokeImpl per un metodo platform invoke.

Metodi come membri di tipi

Un metodo viene definito come membro di tipo utilizzando il TypeBuilder.DefineMethod metodo , che restituisce un MethodBuilder oggetto .

Il DefineParameter metodo viene usato per impostare il nome e gli attributi dei parametri di un parametro o del valore restituito. L'oggetto ParameterBuilder restituito da questo metodo rappresenta un parametro o il valore restituito. L'oggetto ParameterBuilder può essere usato per impostare il marshalling, per impostare il valore costante e per applicare attributi personalizzati.

Attributi

I membri dell'enumerazione MethodAttributes definiscono il carattere preciso di un metodo dinamico:

Problemi noti