ILGenerator Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
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 . |