Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa sezione viene descritto un set di tipi gestiti nello System.Reflection.Emit spazio dei nomi che consentono a un compilatore o a uno strumento di generare metadati e common intermediate language (CIL) in fase di esecuzione e, facoltativamente, generare un file eseguibile portabile (PE) su disco. I motori di script e i compilatori sono gli utenti primari di questo spazio dei nomi. In questa sezione, la funzionalità fornita dallo System.Reflection.Emit spazio dei nomi viene indicata come Reflection Emit.
Reflection emit offre le funzionalità seguenti:
- Definire metodi globali leggeri in fase di esecuzione, usando la DynamicMethod classe ed eseguirli usando i delegati.
- Definire gli assembly in fase di esecuzione e quindi eseguirli e/o salvarli su disco.
- Definire gli assembly in fase di esecuzione, eseguirli e quindi scaricarli e consentire a Garbage Collection di recuperare le risorse.
- Definire i moduli nei nuovi assembly in fase di esecuzione e quindi eseguirli e/o salvarli su disco.
- Definire i tipi nei moduli in fase di esecuzione, creare istanze di questi tipi e richiamare i relativi metodi.
- Definire informazioni simboliche per i moduli definiti che possono essere usati da strumenti come debugger e profiler di codice.
Oltre ai tipi gestiti nello System.Reflection.Emit spazio dei nomi, sono disponibili interfacce di metadati non gestite descritte in Interfacce di metadati (.NET Framework) e interfacce di metadati (.NET). L'emissione di reflection gestita offre un controllo degli errori semantici più elevato e un livello superiore di astrazione dei metadati rispetto alle interfacce di metadati non gestite.
Un'altra risorsa utile per l'uso di metadati e CIL è la documentazione dell'interfaccia della riga di comando (Common Language Infrastructure), in particolare "Partition II: Metadata Definition and Semantics" e "Partition III: CIL Instruction Set". La documentazione è disponibile online nel sito Web Ecma.
Reference
OpCodes
Cataloga i codici di istruzione CIL che è possibile usare per compilare corpi dei metodi.
System.Reflection.Emit
Contiene classi gestite utilizzate per generare metodi dinamici, assembly e tipi.
Type
Descrive la Type classe, che rappresenta i tipi nella reflection gestita e nell'emissione di reflection, fondamentale per l'uso di queste tecnologie.
System.Reflection
Contiene classi gestite usate per esplorare i metadati e il codice gestito.