(0) exportieren Drucken
Alle erweitern

Reflektion (C#-Programmierhandbuch)

Bei der Reflektion werden Objekte (vom Typ Type) bereitgestellt, die Assemblys, Module und Typen kapseln. Mithilfe von Reflektion können Instanzen von Typen dynamisch erzeugt, Typen an ein vorhandenes Objekt gebunden und Typinformationen von vorhandenen Objekten abgefragt werden. Ebenso können die Methoden vorhandener Objekte aufgerufen werden, und es kann auf ihre Felder und Eigenschaften zugegriffen werden. Wenn Sie Attribute im Code verwenden, können Sie mithilfe von Reflektion auf diese Attribute zugreifen. Weitere Informationen finden Sie unter Attribute.

Das folgende einfache Beispiel veranschaulicht die Verwendung der statischen Methode GetType – die alle Typen aus der Object-Basisklasse geerbt haben – zum Abrufen des Typs einer Variablen:

// Using GetType to obtain type information:
int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);

Die Ausgabe lautet:

System.Int32

In diesem Beispiel wird Reflektion verwendet, um den vollständigen Namen einer geladenen Assembly abzufragen:

// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
System.Console.WriteLine(o.GetName());

Die Ausgabe lautet:

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Übersicht über Reflektion

Reflektion ist in folgenden Situationen nützlich:

  • Wenn Sie auf Attribute in den Metadaten des Programms zugreifen müssen. Informationen finden Sie im Thema Zugriff auf Attribute mit Reflektion.

  • Für das Überprüfen und das Instanziieren von Typen in einer Assembly.

  • Für das Erstellen neuer Typen zur Laufzeit. Verwenden Sie die Klassen in System.Reflection.Emit.

  • Für das Ausführen von spätem Binden und für den Zugriff auf Methoden von zur Laufzeit erstellten Typen. Informationen finden Sie im Thema Dynamisches Laden und Verwenden von Typen.

Verwandte Abschnitte

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation.

  • 1.12 Attribute

  • 7.5.11 Der typeof-Operator

Siehe auch

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft