Abstraktionen für die Reflektionsausgabe

Aktualisiert: November 2007

Die Abstraktionen für die Reflektionsausgabe sind eng an das allgemeine Typsystem angelehnt, das der Common Language Runtime zugrunde liegt.

Eine Assembly ist ein konfigurierter Satz von Codemodulen, die geladen werden können, und anderen Ressourcen, die zusammen eine Funktionseinheit implementieren. Die Namen von Assemblys bilden die zugrundeliegende Klasse für die Namenshierarchie des allgemeinen Typsystems.

In diesem Abschnitt werden Assemblys entweder als statisch oder dynamisch klassifiziert. Eine statische Assembly wird von der Festplatte geladen. Eine dynamische Assembly wird dagegen mithilfe der Reflektionsausgabe erstellt. In der folgenden Tabelle werden die von der Reflektionsausgabe verwendeten Abstraktionen in alphabetischer Reihenfolge aufgeführt.

Abstraktion

Beschreibung

AssemblyBuilder

Eine Klasse, die eine dynamische Assembly definiert und diese darstellt. Erbt von der Assembly-Klasse.

ConstructorBuilder

Eine Klasse zur Definition und Repräsentation eines Konstruktors, der eine Operation beschreibt, die eine Instanz eines Typs erstellt. Erbt von der ConstructorInfo-Klasse.

CustomAttributeBuilder

Eine Klasse, die zur Definition benutzerdefinierter Attribute beiträgt.

DynamicMethod

Eine Klasse, die eine globale Methode definiert, die mit einem Delegaten ausgeführt werden kann.

EnumBuilder

Eine Klasse, die zur Definition und Repräsentation eines Enumerationstyps beiträgt. Erbt von der Type-Klasse.

EventBuilder

Eine Klasse, mit der ein Ereignis definiert und repräsentiert wird. Erbt von der EventInfo-Klasse. Ereignisse eines Objekttyps geben benannte Zustandsübergänge an, in denen Abonnenten sich mithilfe von Accessormethoden registrieren oder die Registrierung aufheben können.

FieldBuilder

Eine Klasse, mit der ein Feld definiert und repräsentiert wird. Erbt von der FieldInfo-Klasse. Ein Feld ist eine benannte Untereinheit eines Werts. Ein Typ kann Feldmember aufweisen. Ein Modul oder Typ kann auch auf Felder verweisen, die im Abschnitt .sdata der PE (Portable Executable)-Datei definiert sind.

ILGenerator

Eine Klasse zur Definition und Darstellung von MSIL (Microsoft Intermediate Language). Der Laufzeit-JIT-Compiler (Just-In-Time) übersetzt MSIL-Anweisungen in systemeigenen Code.

Label

Eine Klasse, die eine nicht transparente Repräsentation einer von der ILGenerator-Klasse verwendeten Bezeichnung darstellt. Bezeichnungen entsprechen bestimmten Positionen im MSIL-Code.

LocalBuilder

Eine Klasse, die eine lokale, innerhalb eines Methodentextes deklarierte Variable repräsentiert.

MethodBuilder

Eine Klasse, mit der eine Methode definiert und repräsentiert wird. Erbt von der MethodInfo-Klasse. Eine Methode beschreibt eine Operation, die für Werte eines Typs ausgeführt werden kann.

ModuleBuilder

Eine Klasse, mit der ein Modul definiert und repräsentiert wird. Erbt von der Module-Klasse.

Ein Modul ist eine Kompilierungs- oder Entwicklungseinheit. Ein Modul, das mithilfe einer Reflektionsausgabe-API erstellt wurde, wird für die Dauer der Ausführung, in der es erstellt wird, dynamisches Modul genannt. Der Begriff "dynamisches Modul" trifft nicht zu, wenn das Modul auf der Festplatte gespeichert und von dort erneut geladen wurde. Dynamische Module, die sich als PE-Datei auf der Festplatte speichern lassen, werden dauerhafte dynamische Module genannt. Dynamische Module, die nur im Arbeitsspeicher vorhanden sind, werden flüchtige dynamische Module genannt.

ParameterBuilder

Eine Klasse, mit der ein Parameter definiert und repräsentiert wird. Erbt von der ParameterInfo-Klasse. Parameter sind Positionen, die Argumente von Methoden oder Konstruktoren repräsentieren.

PropertyBuilder

Eine Klasse, mit der eine Eigenschaft definiert und repräsentiert wird. Erbt von der PropertyInfo-Klasse. Eigenschaften eines Objekttyps geben benannte Werte an, auf die über Accessormethoden zugegriffen werden kann, die Werte lesen und schreiben.

TypeBuilder

Eine Klasse, mit der ein Typ definiert und repräsentiert wird. Erbt aus der Type-Klasse. Typen beschreiben Werte. Der Typ definiert die gültigen Werte und die zulässigen, durch die Werte des Typs unterstützten Operationen. Typen können Member in Form von Typen, Methoden, Feldern, Eigenschaften oder Ereignissen enthalten.

Siehe auch

Weitere Ressourcen

Ausgeben von dynamischen Methoden und Assemblys

Assemblys in der Common Language Runtime (CLR)