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 negli assembly dinamici (rappresentati dalle MethodBuilder classi e ConstructorBuilder ) e per i metodi dinamici autonomi (rappresentati dalla DynamicMethod classe ). Per ottenere un ILGeneratoroggetto , utilizzare i ConstructorBuilder.GetILGeneratormetodi , 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 Microsoft Intermediate Language (MSIL) emesso dall'oggetto ILGenerator.

Metodi

BeginCatchBlock(Type)

Inizia un blocco catch.

BeginExceptFilterBlock()

Inizia un blocco di eccezioni per un'eccezione filtrata.

BeginExceptionBlock()

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

BeginFaultBlock()

Inizia un blocco di errori delle eccezioni nel flusso MSIL (Microsoft Intermediate Language).

BeginFinallyBlock()

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

BeginScope()

Inizia un ambito lessicale.

CreateLabel(Int32)

Genera istruzioni MSIL (Microsoft Intermediate Language).

DeclareLocal(Type)

Dichiara una variabile locale del tipo specificato.

DeclareLocal(Type, Boolean)

Dichiara una variabile locale del tipo specificato che facoltativamente può bloccare 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 del 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 indicato 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 indicato 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 dopo l'esecuzione delle correzioni.

Emit(OpCode, Label[])

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

Emit(OpCode, LocalBuilder)

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

Emit(OpCode, MethodInfo)

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

Emit(OpCode, SByte)

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

Emit(OpCode, SignatureHelper)

Inserisce l'istruzione specificata e un token di firme 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), seguita dal token di metadati per la stringa indicata.

Emit(OpCode, Type)

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

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 di istruzioni 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 di istruzioni MSIL (Microsoft Intermediate Language), specificando una convenzione di chiamata gestita per la chiamata indiretta.

EmitWriteLine(FieldInfo)

Crea il flusso MSIL (Microsoft Intermediate Language) necessario per chiamare il metodo WriteLine con il campo indicato.

EmitWriteLine(LocalBuilder)

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

EmitWriteLine(String)

Crea il flusso MSIL (Microsoft Intermediate Language) necessario per chiamare il metodo 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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MarkLabel(Label)

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

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

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

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ThrowException(Type)

Crea 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 utilizzare nella valutazione delle variabili locali e controlla l'ambito lessicale attualmente attivo.

Implementazioni dell'interfaccia esplicita

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

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

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.

_ILGenerator.GetTypeInfoCount(UInt32)

Recupera il numero delle 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 a proprietà e metodi esposti da un oggetto.

Si applica a