Share via


Emitindo Métodos Dinâmicos e Assemblies

Esta seção descreve um conjunto de tipos gerenciados no System.Reflection.Emit namespace que permitem um compilador ou ferramenta emitir metadados e a Microsoft intermediate language (MSIL) em tempo de execução e, opcionalmente, gerar um arquivo executável portável (PE) no disco. Mecanismos de script e compiladores são os principais usuários deste espaço para nome. Nesta seção, a funcionalidade fornecida pelo System.Reflection.Emit namespace é conhecido como reflexão emitir.

Emissão de reflexão fornece os seguintes recursos:

  • Definir leves métodos globais na execução de tempo, usando o DynamicMethod de classe e executá-los usando representantes.

  • E/definir os assemblies em tempo de execução e, em seguida, executá-los ou salvá-los em disco.

  • Definir os assemblies em tempo de execução, executá-los e carregá-los e permitir a coleta de lixo recuperar os seus recursos.

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

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

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

Além de para os tipos gerenciados na System.Reflection.Emit namespace, existem interfaces de metadados não gerenciados 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 do que as interfaces de metadados não gerenciado.

Outro recurso útil para trabalhar com metadados e MSIL é a documentação de infra-estrutura de linguagem comum (CLI), especialmente "partição II: Definição de metadados e semântica" e "partição III: CIL instrução Set". A documentação está disponível online em MSDN e o site Ecma Web.

Nesta seção

Referência

  • OpCodes
    Cataloga os códigos de instrução MSIL que você pode usar para construir os corpos de método.

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

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

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

Seções relacionadas