ILGenerator Classe

Definizione

Genera istruzioni MSIL (Microsoft Intermediate Language).Generates Microsoft intermediate language (MSIL) instructions.

public ref 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
    interface _ILGenerator
Public Class ILGenerator
Implements _ILGenerator
Ereditarietà
ILGenerator
Attributi
Implementazioni

Commenti

ILGenerator viene usato per generare corpi di metodo per i metodi e i costruttori negli assembly dinamici (rappresentati dalle classi MethodBuilder e ConstructorBuilder) e per i metodi dinamici autonomi, rappresentati dalla classe DynamicMethod.ILGenerator is used to generate method bodies for methods and constructors in dynamic assemblies (represented by the MethodBuilder and ConstructorBuilder classes) and for standalone dynamic methods (represented by the DynamicMethod class). Per ottenere un ILGenerator, usare i metodi ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator e MethodBuilder.GetILGenerator.To obtain an ILGenerator, use the ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, and MethodBuilder.GetILGenerator methods.

Il codice MSIL viene usato come input per un compilatore JIT (just-in-Time).MSIL is used as input to a just-in-time (JIT) compiler.

Proprietà

ILOffset

Ottiene l'offset corrente, in byte, nel flusso Microsoft Intermediate Language (MSIL) emesso dall'oggetto ILGenerator.Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the ILGenerator.

Metodi

BeginCatchBlock(Type)

Inizia un blocco catch.Begins a catch block.

BeginExceptFilterBlock()

Inizia un blocco di eccezioni per un'eccezione filtrata.Begins an exception block for a filtered exception.

BeginExceptionBlock()

Inizia un blocco di eccezioni per un'eccezione non filtrata.Begins an exception block for a non-filtered exception.

BeginFaultBlock()

Inizia un blocco di errori delle eccezioni nel flusso MSIL (Microsoft Intermediate Language).Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.

BeginFinallyBlock()

Inizia un blocco finally nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.

BeginScope()

Inizia un ambito lessicale.Begins a lexical scope.

DeclareLocal(Type)

Dichiara una variabile locale del tipo specificato.Declares a local variable of the specified type.

DeclareLocal(Type, Boolean)

Dichiara una variabile locale del tipo specificato che facoltativamente può bloccare l'oggetto a cui fa riferimento la variabile.Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

DefineLabel()

Dichiara una nuova etichetta.Declares a new label.

Emit(OpCode)

Inserisce l'istruzione specificata nel flusso di istruzioni.Puts the specified instruction onto the stream of instructions.

Emit(OpCode, Byte)

Inserisce l'istruzione e l'argomento del carattere specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, ConstructorInfo)

Inserisce l'istruzione e il token di metadati specificati per il costruttore indicato nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Double)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, FieldInfo)

Inserisce l'istruzione e il token di metadati specificati per il campo indicato nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int16)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int32)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int64)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

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.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

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.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, LocalBuilder)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language), seguita dall'indice della variabile locale indicata.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable.

Emit(OpCode, MethodInfo)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language), seguita dal token di metadati per il metodo indicato.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.

Emit(OpCode, SByte)

Inserisce l'istruzione e l'argomento del carattere specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, SignatureHelper)

Inserisce l'istruzione specificata e un token di firme nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Single)

Inserisce l'istruzione e l'argomento numerico specificati nel flusso di istruzioni MSIL (Microsoft Intermediate Language).Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, String)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language), seguita dal token di metadati per la stringa indicata.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.

Emit(OpCode, Type)

Inserisce l'istruzione specificata nel flusso MSIL (Microsoft Intermediate Language), seguita dal token di metadati per il tipo indicato.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.

EmitCall(OpCode, MethodInfo, Type[])

Inserisce un'istruzione call o callvirt nel flusso MSIL (Microsoft Intermediate Language) per chiamare un metodo varargs.Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.

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.Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call.

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.Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

EmitWriteLine(FieldInfo)

Crea il flusso MSIL (Microsoft Intermediate Language) necessario per chiamare il metodo WriteLine con il campo indicato.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given field.

EmitWriteLine(LocalBuilder)

Crea il linguaggio MSIL (Microsoft Intermediate Language) necessario per chiamare WriteLine con la variabile locale specificata.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given local variable.

EmitWriteLine(String)

Crea il flusso MSIL (Microsoft Intermediate Language) necessario per chiamare il metodo WriteLine con una stringa.Emits the Microsoft intermediate language (MSIL) to call WriteLine with a string.

EndExceptionBlock()

Termina un blocco di eccezioni.Ends an exception block.

EndScope()

Termina un ambito lessicale.Ends a lexical scope.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MarkLabel(Label)

Contrassegna la posizione corrente del flusso MSIL (Microsoft Intermediate Language) con l'etichetta indicata.Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.

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

Contrassegna un punto di sequenza nel flusso MSIL (Microsoft Intermediate Language).Marks a sequence point in the Microsoft intermediate language (MSIL) stream.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ThrowException(Type)

Crea un'istruzione per generare un'eccezione.Emits an instruction to throw an exception.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
UsingNamespace(String)

Specifica lo spazio dei nomi da utilizzare nella valutazione delle variabili locali e controlla l'ambito lessicale attualmente attivo.Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.

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.Maps a set of names to a corresponding set of dispatch identifiers.

_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.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_ILGenerator.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

Si applica a