Condividi tramite


ILGenerator Classe

Definizione

Genera istruzioni MSIL (Microsoft Intermediate Language).

public ref class ILGenerator
public ref class ILGenerator abstract
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator
public abstract class ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
type ILGenerator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ILGenerator = class
    interface _ILGenerator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILGenerator = class
    interface _ILGenerator
Public Class ILGenerator
Public MustInherit Class ILGenerator
Public Class ILGenerator
Implements _ILGenerator
Ereditarietà
ILGenerator
Attributi
Implementazioni

Commenti

ILGenerator viene usato per generare corpi di metodo per metodi e costruttori in assembly dinamici (rappresentati dalle classi MethodBuilder e ConstructorBuilder) e per i metodi dinamici autonomi (rappresentati dalla classe DynamicMethod). Per ottenere un ILGenerator, usare i metodi ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratore MethodBuilder.GetILGenerator .

MSIL viene usato come input per un compilatore JIT (Just-In-Time).

Costruttori

ILGenerator()

Inizializza una nuova istanza della classe ILGenerator.

Proprietà

ILOffset

Ottiene l'offset corrente, in byte, nel flusso MSIL (Microsoft Intermediate Language) generato dal ILGenerator.

Metodi

BeginCatchBlock(Type)

Avvia un blocco catch.

BeginExceptFilterBlock()

Avvia un blocco di eccezioni per un'eccezione filtrata.

BeginExceptionBlock()

Avvia un blocco di eccezioni per un'eccezione non filtrata.

BeginFaultBlock()

Avvia un blocco di errore di eccezione nel flusso MSIL (Microsoft Intermediate Language).

BeginFinallyBlock()

Avvia un blocco finally nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

BeginScope()

Inizia un ambito lessicale.

CreateLabel(Int32)

Crea un Label con l'ID specificato.

DeclareLocal(Type)

Dichiara una variabile locale del tipo specificato.

DeclareLocal(Type, Boolean)

Dichiara una variabile locale del tipo specificato, aggiungendo facoltativamente l'oggetto a cui fa riferimento la variabile.

DefineLabel()

Dichiara una nuova etichetta.

Emit(OpCode)

Inserisce l'istruzione specificata nel flusso di istruzioni.

Emit(OpCode, Byte)

Inserisce l'istruzione e l'argomento carattere specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, ConstructorInfo)

Inserisce l'istruzione e il token di metadati specificati per il costruttore specificato nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Double)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, FieldInfo)

Inserisce l'istruzione e il token di metadati specificati per il campo specificato nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int16)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int32)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int64)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Label)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) e lascia spazio per includere un'etichetta al termine delle correzioni.

Emit(OpCode, Label[])

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) e lascia spazio per includere un'etichetta al termine delle correzioni.

Emit(OpCode, LocalBuilder)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) seguito dall'indice della variabile locale specificata.

Emit(OpCode, MethodInfo)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) seguito dal token di metadati per il metodo specificato.

Emit(OpCode, SByte)

Inserisce l'istruzione e l'argomento carattere specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, SignatureHelper)

Inserisce l'istruzione specificata e un token di firma nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, Single)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).

Emit(OpCode, String)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) seguito dal token di metadati per la stringa specificata.

Emit(OpCode, Type)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language) seguito dal token di metadati per il tipo specificato.

EmitCall(OpCode, MethodInfo, Type[])

Inserisce un'istruzione call o callvirt nel flusso MSIL (Microsoft Intermediate Language) per chiamare un metodo varargs.

EmitCalli(OpCode, CallingConvention, Type, Type[])

Inserisce un'istruzione Calli nel flusso MSIL (Microsoft Intermediate Language), specificando una convenzione di chiamata non gestita per la chiamata indiretta.

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

Inserisce un'istruzione Calli nel flusso MSIL (Microsoft Intermediate Language), specificando una convenzione di chiamata gestita per la chiamata indiretta.

EmitWriteLine(FieldInfo)

Genera il linguaggio MSIL (Microsoft Intermediate Language) necessario per chiamare WriteLine con il campo specificato.

EmitWriteLine(LocalBuilder)

Genera il linguaggio MSIL (Microsoft Intermediate Language) necessario per chiamare WriteLine con la variabile locale specificata.

EmitWriteLine(String)

Genera il linguaggio MSIL (Microsoft Intermediate Language) per chiamare WriteLine con una stringa.

EndExceptionBlock()

Termina un blocco di eccezioni.

EndScope()

Termina un ambito lessicale.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MarkLabel(Label)

Contrassegna la posizione corrente del flusso MSIL (Microsoft Intermediate Language) con l'etichetta specificata.

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

Contrassegna un punto di sequenza nel flusso MSIL (Microsoft Intermediate Language).

MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

In caso di override in una classe derivata, contrassegna un punto di sequenza nel flusso MSIL (Microsoft Intermediate Language).

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ThrowException(Type)

Genera un'istruzione per generare un'eccezione.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UsingNamespace(String)

Specifica lo spazio dei nomi da usare per valutare le variabili locali e controllare l'ambito lessicale attivo corrente.

Implementazioni dell'interfaccia esplicita

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo per un oggetto, che può quindi essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia.

_ILGenerator.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

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

Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto .

Si applica a