Compartir a través de


ILGenerator Clase

Definición

Genera instrucciones de lenguaje intermedio de Microsoft (MSIL).

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
Herencia
ILGenerator
Atributos
Implementaciones

Comentarios

ILGenerator se usa para generar cuerpos de método para métodos y constructores en ensamblados dinámicos (representados por las clases MethodBuilder y ConstructorBuilder) y para métodos dinámicos independientes (representados por la clase DynamicMethod). Para obtener un ILGenerator, use los métodos ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratory MethodBuilder.GetILGenerator .

MSIL se usa como entrada para un compilador Just-In-Time (JIT).

Constructores

ILGenerator()

Inicializa una nueva instancia de la clase ILGenerator.

Propiedades

ILOffset

Obtiene el desplazamiento actual, en bytes, en el flujo de lenguaje intermedio de Microsoft (MSIL) que emite el ILGenerator.

Métodos

BeginCatchBlock(Type)

Comienza un bloque catch.

BeginExceptFilterBlock()

Comienza un bloque de excepciones para una excepción filtrada.

BeginExceptionBlock()

Inicia un bloque de excepciones para una excepción no filtrada.

BeginFaultBlock()

Inicia un bloque de error de excepción en el flujo de lenguaje intermedio de Microsoft (MSIL).

BeginFinallyBlock()

Comienza un bloque finally en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

BeginScope()

Comienza un ámbito léxico.

CreateLabel(Int32)

Crea un Label con el identificador especificado.

DeclareLocal(Type)

Declara una variable local del tipo especificado.

DeclareLocal(Type, Boolean)

Declara una variable local del tipo especificado, anclar opcionalmente el objeto al que hace referencia la variable.

DefineLabel()

Declara una nueva etiqueta.

Emit(OpCode)

Coloca la instrucción especificada en el flujo de instrucciones.

Emit(OpCode, Byte)

Coloca la instrucción y el argumento de caracteres especificados en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, ConstructorInfo)

Coloca la instrucción y el token de metadatos especificados para el constructor especificado en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Double)

Coloca la instrucción especificada y el argumento numérico en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, FieldInfo)

Coloca la instrucción y el token de metadatos especificados para el campo especificado en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Int16)

Coloca la instrucción especificada y el argumento numérico en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Int32)

Coloca la instrucción especificada y el argumento numérico en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Int64)

Coloca la instrucción especificada y el argumento numérico en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Label)

Coloca la instrucción especificada en el flujo del lenguaje intermedio de Microsoft (MSIL) y deja espacio para incluir una etiqueta cuando se realizan correcciones.

Emit(OpCode, Label[])

Coloca la instrucción especificada en el flujo del lenguaje intermedio de Microsoft (MSIL) y deja espacio para incluir una etiqueta cuando se realizan correcciones.

Emit(OpCode, LocalBuilder)

Coloca la instrucción especificada en el flujo del lenguaje intermedio de Microsoft (MSIL) seguido del índice de la variable local especificada.

Emit(OpCode, MethodInfo)

Coloca la instrucción especificada en el flujo del lenguaje intermedio de Microsoft (MSIL) seguido del token de metadatos del método especificado.

Emit(OpCode, SByte)

Coloca la instrucción y el argumento de caracteres especificados en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, SignatureHelper)

Coloca la instrucción especificada y un token de firma en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, Single)

Coloca la instrucción especificada y el argumento numérico en el flujo de instrucciones del lenguaje intermedio de Microsoft (MSIL).

Emit(OpCode, String)

Coloca la instrucción especificada en el flujo del lenguaje intermedio de Microsoft (MSIL) seguido del token de metadatos de la cadena especificada.

Emit(OpCode, Type)

Coloca la instrucción especificada en el flujo de lenguaje intermedio de Microsoft (MSIL) seguido del token de metadatos para el tipo especificado.

EmitCall(OpCode, MethodInfo, Type[])

Coloca una instrucción call o callvirt en el flujo de lenguaje intermedio de Microsoft (MSIL) para llamar a un método varargs.

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

Coloca una instrucción Calli en el flujo de lenguaje intermedio de Microsoft (MSIL), especificando una convención de llamada no administrada para la llamada indirecta.

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

Coloca una instrucción Calli en el flujo de lenguaje intermedio de Microsoft (MSIL), especificando una convención de llamada administrada para la llamada indirecta.

EmitWriteLine(FieldInfo)

Emite el lenguaje intermedio de Microsoft (MSIL) necesario para llamar a WriteLine con el campo especificado.

EmitWriteLine(LocalBuilder)

Emite el lenguaje intermedio de Microsoft (MSIL) necesario para llamar a WriteLine con la variable local especificada.

EmitWriteLine(String)

Emite el lenguaje intermedio de Microsoft (MSIL) para llamar a WriteLine con una cadena.

EndExceptionBlock()

Finaliza un bloque de excepciones.

EndScope()

Finaliza un ámbito léxico.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MarkLabel(Label)

Marca la posición actual del flujo del lenguaje intermedio de Microsoft (MSIL) con la etiqueta especificada.

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

Marca un punto de secuencia en la secuencia del lenguaje intermedio de Microsoft (MSIL).

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

Cuando se reemplaza en una clase derivada, marca un punto de secuencia en el flujo de lenguaje intermedio de Microsoft (MSIL).

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ThrowException(Type)

Emite una instrucción para iniciar una excepción.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UsingNamespace(String)

Especifica el espacio de nombres que se va a usar para evaluar variables locales y relojes para el ámbito léxico activo actual.

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz.

_ILGenerator.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 o 1).

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

Proporciona acceso a propiedades y métodos expuestos por un objeto .

Se aplica a