Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta secção descreve um conjunto de tipos geridos no System.Reflection.Emit espaço de nomes que permitem a um compilador ou ferramenta emitir metadados e linguagem intermédia comum (CIL) em tempo de execução e, opcionalmente, gerar um ficheiro executável portátil (PE) no disco. Mecanismos de script e compiladores são os principais usuários desse namespace. Nesta seção, a System.Reflection.Emit funcionalidade fornecida pelo namespace é chamada de emissão de reflexão.
A emissão de reflexão fornece as seguintes capacidades:
- Definir métodos globais leves em tempo de execução, usando a DynamicMethod classe, e executá-los usando delegados.
- Defina assemblies em tempo de execução e depois execute-os e/ou guarde-os no disco.
- Definir assemblies em tempo de execução, executá-los, depois descarregá-los e permitir que o coletor de lixo recupere os seus recursos.
- Definir módulos em novos assemblies em tempo de execução e depois executá-los e/ou armazená-los no disco.
- Definir tipos nos módulos em tempo de execução, criar instâncias desses tipos e invocar os seus métodos.
- Defina informações simbólicas para módulos definidos que podem ser usados por ferramentas como depuradores e criadores de perfil de código.
Além dos tipos gerenciados no System.Reflection.Emit namespace, há interfaces de metadados não gerenciadas descritas em Interfaces de metadados (.NET Framework) e Interfaces de metadados (.NET). A emissão de reflexão gerenciada fornece uma verificação de erros semânticos mais forte e um nível mais alto de abstração dos metadados do que as interfaces de metadados não gerenciados.
Outro recurso útil para trabalhar com metadados e CIL é a documentação da Common Language Infrastructure (CLI), especialmente "Partition II: Metadata Definition and Semantics" e "Partition III: CIL Instruction set". A documentação está disponível on-line no site da Ecma.
Reference
OpCodes
Cataloga os códigos de instrução CIL que você pode usar para criar corpos de método.
System.Reflection.Emit
Contém classes gerenciadas usadas para emitir métodos, assemblies e tipos dinâmicos.
Type
Descreve a Type classe, que representa tipos em reflexão gerenciada e reflexão emitida, e que é fundamental para o uso dessas tecnologias.
System.Reflection
Contém classes gerenciadas usadas para explorar metadados e código gerenciado.