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.
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 |
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). |
MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
Descreve instruções 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
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários