ILGenerator Classe

Definição

Descreve instruções 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
Herança
ILGenerator
Atributos
Implementações

Comentários

ILGenerator é usado para gerar corpos de método para métodos e construtores em assemblies dinâmicos (representados pelas MethodBuilder classes e ConstructorBuilder ) e para métodos dinâmicos autônomos (representados pela DynamicMethod classe ). Para obter um ILGenerator, use os ConstructorBuilder.GetILGeneratormétodos , DynamicMethod.GetILGeneratore MethodBuilder.GetILGenerator .

O MSIL é usado como entrada para um compilador JIT (Just-In-Time).

Construtores

ILGenerator()

Inicializa uma nova instância da classe ILGenerator.

Propriedades

ILOffset

Obtém o deslocamento atual, em bytes, no fluxo da MSIL (Microsoft Intermediate Language) que está sendo emitido pelo ILGenerator.

Métodos

BeginCatchBlock(Type)

Inicia um bloco catch.

BeginExceptFilterBlock()

Inicia um bloco de exceção para uma exceção filtrada.

BeginExceptionBlock()

Inicia um bloco de exceção para uma exceção não filtrada.

BeginFaultBlock()

Inicia um bloco de falha de exceção no fluxo de MSIL (Microsoft Intermediate Language).

BeginFinallyBlock()

Começa um bloco finally no fluxo de instruções da MSIL (Microsoft Intermediate Language).

BeginScope()

Inicia um escopo léxico.

CreateLabel(Int32)

Descreve instruções MSIL (Microsoft Intermediate Language).

DeclareLocal(Type)

Declara uma variável local do tipo especificado.

DeclareLocal(Type, Boolean)

Declara uma variável local do tipo especificado, opcionalmente fixar o objeto referenciado pela variável.

DefineLabel()

Declara um novo rótulo.

Emit(OpCode)

Coloca a instrução especificada no fluxo de instruções.

Emit(OpCode, Byte)

Coloca a instrução especificada e o argumento de caractere no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, ConstructorInfo)

Coloca a instrução especificada e o token de metadados para o construtor especificado no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Double)

Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, FieldInfo)

Coloca a instrução especificada e o token de metadados para o campo especificado no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int16)

Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int32)

Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int64)

Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Label)

Coloca a instrução especificada para o fluxo da MSIL (Microsoft Intermediate Language) e deixa espaço para incluir um rótulo após a realização das correções.

Emit(OpCode, Label[])

Coloca a instrução especificada para o fluxo da MSIL (Microsoft Intermediate Language) e deixa espaço para incluir um rótulo após a realização das correções.

Emit(OpCode, LocalBuilder)

Coloca a instrução especificada no fluxo da MSIL (Microsoft Intermediate Language) seguido pelo índice da variável local fornecida.

Emit(OpCode, MethodInfo)

Coloca a instrução especificada no fluxo da MSIL (Microsoft Intermediate Language) seguido pelo token de metadados para o método fornecido.

Emit(OpCode, SByte)

Coloca a instrução especificada e o argumento de caractere no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, SignatureHelper)

Coloca a instrução especificada e o token de assinatura no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, Single)

Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (Microsoft Intermediate Language).

Emit(OpCode, String)

Coloca a instrução especificada no fluxo da MSIL (Microsoft Intermediate Language) seguido pelo token de metadados para a cadeia de caracteres fornecida.

Emit(OpCode, Type)

Coloca a instrução especificada no fluxo da MSIL (Microsoft Intermediate Language) seguido pelo token de metadados para o tipo fornecido.

EmitCall(OpCode, MethodInfo, Type[])

Coloca uma instrução call ou callvirt no fluxo do MSIL (Microsoft Intermediate Language) para chamar um método varargs.

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

Coloca uma instrução Calli no fluxo da MSIL (Microsoft Intermediate Language), especificando uma convenção de chamada não gerenciada para a chamada indireta.

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

Coloca uma instrução Calli no fluxo da MSIL (Microsoft Intermediate Language), especificando uma convenção de chamada gerenciada para a chamada indireta.

EmitWriteLine(FieldInfo)

Emite a MSIL (Microsoft Intermediate Language) necessária para chamar WriteLine com o campo fornecido.

EmitWriteLine(LocalBuilder)

Emite a MSIL (Microsoft Intermediate Language) necessária para chamar WriteLine com a variável local fornecida.

EmitWriteLine(String)

Emite a MSIL (Microsoft Intermediate Language) para chamar WriteLine com uma cadeia de caracteres.

EndExceptionBlock()

Termina um bloco de exceção.

EndScope()

Termina um escopo léxico.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MarkLabel(Label)

Marca a posição atual do fluxo da MSIL (Microsoft Intermediate Language) com o rótulo fornecido.

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

Marca um ponto de sequência no fluxo de MSIL (Microsoft Intermediate Language).

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ThrowException(Type)

Emite uma instrução para gerar uma exceção.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UsingNamespace(String)

Especifica o namespace a ser usado na avaliação de locais e procura por escopo léxico ativo atual.

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

_ILGenerator.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

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

Fornece acesso a propriedades e métodos expostos por um objeto.

Aplica-se a