Reflection
Aggiornamento: novembre 2007
Le classi dello spazio dei nomi System.Reflection, insieme a System.Type, consentono di ottenere informazioni sugli assembly caricati e sui tipi in essi definiti, quali classi, interfacce e tipi di valore. È anche possibile utilizzare la reflection per creare istanze di tipi in fase di esecuzione, richiamarle e accedervi.
In questa sezione
Cenni preliminari su reflection
Vengono illustrati la reflection e i suoi principali utilizzi.Procedura: caricare assembly nel contesto Reflection-Only
Viene descritto il contesto di caricamento Reflection-Only. Viene illustrato come caricare un assembly, verificare il contesto ed esaminare gli attributi applicati a un assembly nel contesto Reflection-Only.Tipi di runtime nella riflessione
Vengono descritti i tipi interni, ad esempio RuntimeType, che ereditano le classi astratte nello spazio dei nomi System.Reflection e ne forniscono gran parte dell'implementazione.Visualizzazione delle informazioni sul tipo
Viene illustrata la classe System.Type e vengono forniti esempi di codice in cui viene illustrato come utilizzare System.Type con diverse classi di reflection per ottenere informazioni su costruttori, metodi, campi, proprietà ed eventi.Reflection e tipi generici
Viene illustrata la modalità con cui la reflection gestisce i parametri e gli argomenti di tipo di metodi e tipi generici.Modelli di progettazione utilizzati dalle classi di reflection
Viene fornita una tabella in cui si illustra il modello di denominazione dei metodi e l'utilizzo delle classi di reflection più comuni, quali ad esempio Module, Type e MemberInfo.Considerazioni sulla sicurezza in relazione alla riflessione
Vengono illustrate le regole che determinano in che misura è possibile utilizzare la reflection per recuperare informazioni sui tipi e accedere ai tipi.Caricamento e utilizzo dinamico dei tipi
Viene illustrata l'interfaccia di associazione personalizzata della reflection che supporta l'associazione tardiva.Accesso ai membri predefiniti
Viene illustrato come utilizzare la reflection per accedere ai membri predefiniti di una classe.Accesso ai valori predefiniti degli argomenti
Viene illustrato come utilizzare la reflection per accedere agli argomenti che dispongono di valori predefiniti e come richiamare i metodi che presentano argomenti con valori predefiniti.Accesso ad attributi personalizzati
Viene illustrato l'utilizzo della reflection per ottenere informazioni sull'esistenza degli attributi e sui relativi valori.Specifica di nomi di tipo completi
Vengono illustrati il formato dei nomi di tipo completi, secondo i canoni BNF (Backus-Naur Form), e la sintassi richiesta per specificare nomi di assembly, puntatori, riferimenti, matrici e caratteri speciali.API Reflection non gestita
Viene indicato dove si trovano le informazioni sull'utilizzo della reflection non gestita per l'esame dei metadati.Procedura: associare un delegato tramite reflection
Viene illustrato come creare un delegato per un metodo e associarlo a un evento. Viene illustrato come creare un metodo di gestione degli eventi in fase di esecuzione utilizzando DynamicMethod.
Riferimenti
Type
Classe che rappresenta i tipi del sistema di tipi di Common Language Runtime e fornisce funzionalità essenziali per la reflection.System.Reflection
Spazio dei nomi contenente altre astrazioni per le entità del codice, ad esempio la classe MethodInfo che rappresenta i metodi.System.Reflection.Emit
Spazio dei nomi contenente le classi per la generazione di assembly e metodi dinamici.
Sezioni correlate
- Creazione di assembly e metodi dinamici
Viene illustrato come generare assembly e metodi generici.