ILGenerator Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Gera instruções de MSIL (linguagem intermediária) da Microsoft.
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 classes MethodBuilder e ConstructorBuilder) e para métodos dinâmicos autônomos (representados pela classe DynamicMethod). Para obter um ILGenerator, use os métodos ConstructorBuilder.GetILGenerator, 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 msil (linguagem intermediária da Microsoft) que está sendo emitido pelo ILGenerator. |
Métodos
BeginCatchBlock(Type) |
Inicia um bloco de captura. |
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 msil (linguagem intermediária) da Microsoft. |
BeginFinallyBlock() |
Inicia um bloco finalmente no fluxo de instrução msil (linguagem intermediária) da Microsoft. |
BeginScope() |
Inicia um escopo léxico. |
CreateLabel(Int32) |
Cria um Label com a ID fornecida. |
DeclareLocal(Type) |
Declara uma variável local do tipo especificado. |
DeclareLocal(Type, Boolean) |
Declara uma variável local do tipo especificado, opcionalmente fixando 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 (linguagem intermediária da Microsoft). |
Emit(OpCode, ConstructorInfo) |
Coloca a instrução especificada e o token de metadados do construtor especificado no fluxo de instruções da MSIL (linguagem intermediária da Microsoft). |
Emit(OpCode, Double) |
Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, FieldInfo) |
Coloca a instrução e o token de metadados especificados para o campo especificado no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, Int16) |
Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, Int32) |
Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, Int64) |
Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, Label) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft e deixa espaço para incluir um rótulo quando as correções são feitas. |
Emit(OpCode, Label[]) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft e deixa espaço para incluir um rótulo quando as correções são feitas. |
Emit(OpCode, LocalBuilder) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft seguida pelo índice da variável local fornecida. |
Emit(OpCode, MethodInfo) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft 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 (linguagem intermediária da Microsoft). |
Emit(OpCode, SignatureHelper) |
Coloca a instrução especificada e um token de assinatura no fluxo de instruções da MSIL (linguagem intermediária da Microsoft). |
Emit(OpCode, Single) |
Coloca a instrução especificada e o argumento numérico no fluxo de instruções da MSIL (linguagem intermediária) da Microsoft. |
Emit(OpCode, String) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft seguido pelo token de metadados para a cadeia de caracteres fornecida. |
Emit(OpCode, Type) |
Coloca a instrução especificada no fluxo msil (linguagem intermediária) da Microsoft seguido pelo token de metadados para o tipo fornecido. |
EmitCall(OpCode, MethodInfo, Type[]) |
Coloca uma instrução |
EmitCalli(OpCode, CallingConvention, Type, Type[]) |
Coloca uma instrução Calli no fluxo msil (linguagem intermediária) da Microsoft, 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 msil (linguagem intermediária) da Microsoft, especificando uma convenção de chamada gerenciada para a chamada indireta. |
EmitWriteLine(FieldInfo) |
Emite a MSIL (linguagem intermediária) da Microsoft necessária para chamar WriteLine com o campo especificado. |
EmitWriteLine(LocalBuilder) |
Emite a MSIL (linguagem intermediária) da Microsoft necessária para chamar WriteLine com a variável local fornecida. |
EmitWriteLine(String) |
Emite a MSIL (linguagem intermediária) da Microsoft para chamar WriteLine com uma cadeia de caracteres. |
EndExceptionBlock() |
Encerra um bloco de exceção. |
EndScope() |
Termina um escopo lexical. |
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 msil (linguagem intermediária) da Microsoft com o rótulo fornecido. |
MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
Marca um ponto de sequência no fluxo msil (linguagem intermediária) da Microsoft. |
MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
Quando substituído em uma classe derivada, marca um ponto de sequência no fluxo msil (linguagem intermediária) da Microsoft. |
MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (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 relógios para o 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 de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. |
_ILGenerator.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de 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. |