Sie sind hier: Startseite | Wissen
BASTA 2016

Was ist Reflection?

Die Gewinnung von Metainformationen aus einer Komponente selbst wird im Allgemeinen als Reflexion (engl. Reflection) bezeichnet [Griffel: Componentware, Siete 471]. Reflection ist die Möglichkeit, per Programmcode auf die Meta-Daten einer Softwarekomponente zuzugreifen.

Java-Komponenten sind selbstbeschreibend. In dem Bytecode einer Java-Class-Datei sind neben dem Programmcode auch Metainformationen über die in der Datei enthaltenen Klasse, deren Schnittstellen und Mitglieder enthalten. Die sogennante Java-Reflection ist im Namensraum java.lang.reflect realisiert. So können Klassen und Objekte zur Laufzeit analysiert werden.

Auch .NET-Komponenten sind automatisch selbstbeschreibend. Ebenso wie in Java erfolgt die Beschreibung nicht in IDL, sondern in einem propietären Format. Der Zugriff über die Metainformationen erfolgt ebenso wie bei Java über Reflection. Die CLI-Reflection ist im Namespace System.Reflection der CLI-Klassenbibliothek realisiert und unterscheidet sich nicht im grundsätzlichen Vorgehen, jedoch hinsichtlich der Programmierschnittstelle von der Java-Reflection.

Reflection ist die verbesserte Variante dessen, was in COM mit Hilfe der TypLib-Informationskomponente (TLBINF32.DLL) möglich war.

Auch in der Windows Runtime (WinRT) wird Reflection auf Basis der Metadaten (winmd) unterstützt.

Querverweise zu anderen Begriffen im Lexikon

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema Reflection  Gesamter Schulungsthemenkatalog