Astrazioni della reflection emit
Aggiornamento: novembre 2007
Le astrazioni della reflection emit sono quasi analoghe al sistema di tipi comuni sottostante a Common Language Runtime.
Un assembly è un insieme configurato di moduli di codice caricabili e altre risorse che implementano, nel loro complesso, un'unità di funzionalità. I nomi degli assembly formano la base della gerarchia di denominazione del sistema di tipi comuni.
In questo argomento gli assembly verranno suddivisi in statici o dinamici. Un assembly statico è un assembly che viene caricato da disco. Un assembly dinamico è un assembly creato utilizzando la reflection emit. Nella tabella che segue sono illustrate, in ordine alfabetico, le astrazioni utilizzate dalla reflection emit.
Astrazione |
Descrizione |
---|---|
Classe che definisce e rappresenta un assembly dinamico. Eredita dalla classe Assembly. |
|
Classe che definisce e rappresenta un costruttore, il quale descrive un'operazione che crea un'istanza di un tipo. Eredita dalla classe ConstructorInfo. |
|
Classe che aiuta a definire attributi personalizzati. |
|
Classe che definisce un metodo globale eseguibile mediante l'utilizzo di un delegato. |
|
Classe che aiuta a definire e rappresentare un tipo di enumerazione. Eredita dalla classe Type. |
|
Classe utilizzata per definire e rappresentare un evento. Eredita dalla classe EventInfo. Gli eventi di un tipo di oggetto specificano transizioni di stato denominate in cui i sottoscrittori possono registrare o annullare la registrazione di un interesse mediante metodi della funzione di accesso. |
|
Classe utilizzata per definire e rappresentare un campo. Eredita dalla classe FieldInfo. Un campo è una suddivisione denominata di un valore. È possibile che un tipo presenti membri campo. È inoltre possibile che un modulo o un tipo faccia riferimento a campi definiti nella sezione .sdata di un file eseguibile portabile (PE, Portable Executable). |
|
Classe utilizzata per definire e rappresentare il linguaggio MSIL (Microsoft Intermediate Language). Le istruzioni in linguaggio MSIL vengono tradotte in codice nativo dal compilatore JIT (Just-In-Time) di runtime. |
|
Classe che è la rappresentazione opaca di un'etichetta utilizzata dalla classe ILGenerator. Le etichette corrispondono a punti specifici del codice MSIL. |
|
Classe che rappresenta una variabile locale dichiarata nel corpo di un metodo. |
|
Classe utilizzata per definire e rappresentare un metodo. Eredita dalla classe MethodInfo. Un metodo descrive un'operazione eseguibile sui valori di un tipo. |
|
Classe utilizzata per definire e rappresentare un modulo. Eredita dalla classe Module. Un modulo è un'unità di compilazione o di sviluppo. Un modulo creato mediante l'API della reflection emit viene definito modulo dinamico per la durata dell'esecuzione in cui il modulo è stato creato. Il termine modulo dinamico non è applicabile se il modulo è salvato su disco, quindi caricato da disco. I moduli dinamici che è possibile salvare su disco come file PE sono detti moduli dinamici persistenti. I moduli dinamici che esistono solo in memoria sono detti moduli dinamici temporanei. |
|
Classe utilizzata per definire e rappresentare un parametro. Eredita dalla classe ParameterInfo. I parametri sono posizioni che rappresentano argomenti di metodi o costruttori. |
|
Classe utilizzata per definire e rappresentare una proprietà. Eredita dalla classe PropertyInfo. Le proprietà di un tipo di oggetto specificano valori denominati cui è possibile accedere tramite metodi della funzione di accesso che leggono e scrivono il valore. |
|
Classe utilizzata per definire e rappresentare un tipo. Eredita dalla classe Type. I tipi descrivono valori. Il tipo definisce i valori consentiti e le operazioni consentite supportate dai valori del tipo. I membri dei tipi possono essere tipi, metodi, campi, proprietà o eventi. |