Reflexe je způsob, jak v .NETu můžeme programově (za běhu programu) zjistit informace o třídě. Těmto informacím říkáme metadata. Základním typem, který se používá v reflexi, je třída System.Type.
Můžeme zjistit, jak se třída jmenuje, v jaké je assembly. Jaké má konstruktory, vlastnosti a metody. Případně další členy třídy (události, konstanty, proměnné apod.).
Jak získáme metadata v programu, ukazují následující příklady:
// Jak získáme metadata nějaké třídy, když máme k dispozici objekt (instanci té třídy)? // Použijeme metodu GetType(), kterou každý typ v .NETu dědí ze základní třídy System.Object: SomeClass someClassObject = new SomeClass(); Type someClassType = someClassObject.GetType(); // Jak získáme metadata nějaké třídy, když máme k dispozici pouze tu třídu (a žádnou její instanci)? // Použijeme operátor typeof(...): Type someClassType = typeof(SomeClass);
Více o třídě Type se dozvíte zde.