Emitindo Métodos Dinâmicos e Assemblies

Esta seção descreve um conjunto de tipos gerenciado no System.Reflection.Emit namespace que permitem um compilador ou ferramenta emitir metadados e Microsoft intermediate linguagem (MSIL) em time de execução e opcionalmente a geração de um arquivo executável portátil (PE) no disco. Mecanismos de script e compiladores são os principais usuários isso namespace.Nesta seção, a funcionalidade fornecida pelo System.Reflection.Emit espaço para nome é conhecido para sistema autônomo reflexão emitir.

Emissão de reflexão fornece os recursos:

  • Definir métodos global leves em time de executar, usando o DynamicMethod classe e executá-los usando delegados.

  • Definir conjuntos de módulos em time de execução e, em seguida, executá-los e/ou salvar-los em disco.

  • E/definir módulos em novos assemblies em time de execução e, em seguida, executar ou salvá-los em disco.

  • Definir os tipos de módulos em time de execução, criar instâncias desses tipos e chamar seus métodos.

  • Defina informações simbólicas para sistema autônomo módulos definidos que podem ser usadas por ferramentas, sistema autônomo depuradores e geradores de perfis de código.

Em adição aos tipos gerenciado no System.Reflection.Emit namespace, existem interfaces de metadados não gerenciado que são descritos na Interfaces de metadados documentação de referência. Emissão de reflexão gerenciado fornece verificação de erros semânticos mais forte e um nível mais alto de abstração de metadados que as interfaces de metadados não gerenciado.

Outro recurso útil para trabalhar com metadados e MSIL é a documentação do Common linguagem Infrastructure (CLI), especialmente "partição II: Metadados definição e semântica "e" partição III: Conjunto de instruções CIL".A documentação está disponível online em MSDN e com o Site ECMA Web.

Nesta seção

Referência

  • OpCodes
    Cataloga os códigos de instrução MSIL que podem ser usados para construir corpos de método.

  • System.Reflection.Emit
    Contém classes gerenciadas usadas para emitir métodos dinâmicos, assemblies e tipos.

  • Type
    Descreve o Type gerenciado de classe que representa os tipos de reflexão e emissão de reflexão e qual é a chave para o uso dessas tecnologias.

  • System.Reflection
    Contém classes gerenciadas usadas para explorar metadados e o código gerenciado.

Seções relacionadas