Sommario:
Definizione - Cosa significa Riflessione?
La riflessione è il processo di accesso alle informazioni sugli assembly caricati e sui tipi in essi definiti per creare, invocare e accedere a istanze di tipi in fase di esecuzione a livello di codice.
Reflection consente di visualizzare le informazioni sull'assieme di un oggetto come eventi, proprietà, metodi e campi. Forma un meccanismo attraverso il quale gli oggetti possono interrogarsi a vicenda e scoprire informazioni in fase di esecuzione, che include più di ciò che è noto attraverso interfacce esposte pubblicamente. Reflection aiuta a definire moduli e nuovi tipi invocati durante il runtime. Reflection viene utilizzato in applicazioni come i browser dei tipi (per selezionare e visualizzare le informazioni sui tipi), i compilatori (per costruire tabelle di simboli) e le applicazioni remote e serializzate (per accedere ai dati e la loro persistenza).
Techopedia spiega Reflection
Reflection fornisce una funzione di associazione tardiva in fase di esecuzione per creare un'istanza di un determinato tipo, che non è nota durante il tempo di compilazione.
Reflection è simile al processo di recupero delle informazioni sul tipo di runtime implementate in linguaggi come C ++, Delphi, Java, ecc. Nel caso di .NET, le informazioni sui tipi archiviate come metadati nell'assembly compilato vengono recuperate utilizzando le classi .NET a livello di programmazione.
Reflection può essere adatto per applicazioni in cui vengono utilizzati plug-in di terze parti, ma non è adatto per applicazioni come un sito Web ASP.NET, dove è importante un buon throughput e tempi di risposta. La riflessione ha i suoi svantaggi. Questi includono overhead delle prestazioni, restrizioni di sicurezza, complessità del codice e accesso ai membri nascosti.
Questa definizione è stata scritta nel contesto di .NET
