Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Astrazioni di reflection emit

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

AssemblyBuilder

Classe che definisce e rappresenta un assembly dinamico. Eredita dalla classe Assembly.

ConstructorBuilder

Classe che definisce e rappresenta un costruttore, il quale descrive un'operazione che crea un'istanza di un tipo. Eredita dalla classe ConstructorInfo.

CustomAttributeBuilder

Classe che aiuta a definire attributi personalizzati.

DynamicMethod

Classe che definisce un metodo globale eseguibile mediante l'utilizzo di un delegato.

EnumBuilder

Classe che aiuta a definire e rappresentare un tipo di enumerazione. Eredita dalla classe Type.

EventBuilder

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.

FieldBuilder

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).

ILGenerator

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.

Label

Classe che è la rappresentazione opaca di un'etichetta utilizzata dalla classe ILGenerator. Le etichette corrispondono a punti specifici del codice MSIL.

LocalBuilder

Classe che rappresenta una variabile locale dichiarata nel corpo di un metodo.

MethodBuilder

Classe utilizzata per definire e rappresentare un metodo. Eredita dalla classe MethodInfo. Un metodo descrive un'operazione eseguibile sui valori di un tipo.

ModuleBuilder

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.

ParameterBuilder

Classe utilizzata per definire e rappresentare un parametro. Eredita dalla classe ParameterInfo. I parametri sono posizioni che rappresentano argomenti di metodi o costruttori.

PropertyBuilder

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.

TypeBuilder

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.

Mostra: