Úvod

Reflexe

SSŠVT


Reflexe

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.