System.Reflection.Emit Namespace

Enthält Klassen, die einem Compiler oder Tool ermöglichen, Metadaten und MSIL (Microsoft Intermediate Language) auszugeben sowie optional eine PE-Datei auf einem Datenträger zu generieren. Die wichtigsten Clients dieser Klassen sind Skript-Engines und Compiler.

Klassen

AssemblyBuilder

Definiert eine dynamische Assembly und stellt diese dar.

ConstructorBuilder

Definiert einen Konstruktor einer dynamischen Klasse und stellt diesen dar.

CustomAttributeBuilder

Hilft beim Erstellen benutzerdefinierter Attribute.

DynamicILInfo

Stellt Unterstützung für eine alternative Vorgehensweise zum Generieren von MSIL (Microsoft Intermediate Language) und von Metadaten für eine dynamische Methode bereit. Dabei sind Methoden zum Erstellen von Token und zum Einfügen des Codes, Ausnahmenbehandlung sowie Signatur-BLOBs für lokale Variablen inbegriffen.

DynamicMethod

Definiert eine dynamische Methode, die kompiliert, ausgeführt und verworfen werden kann, und stellt diese dar. Verworfene Methoden sind für die Garbage Collection verfügbar.

EnumBuilder

Beschreibt einen Enumerationstyp und stellt ihn dar.

EventBuilder

Definiert Ereignisse für eine Klasse.

FieldBuilder

Definiert ein Feld und stellt dieses dar. Diese Klasse kann nicht vererbt werden.

GenericTypeParameterBuilder

Definiert und erstellt generische Typparameter für dynamisch definierte generische Typen und Methoden. Diese Klasse kann nicht vererbt werden.

ILGenerator

Generiert MSIL-Anweisungen (Microsoft Intermediate Language).

LocalBuilder

Stellt eine lokale Variable in einer Methode oder einem Konstruktor dar.

MethodBuilder

Definiert eine Methode (oder einen Konstruktor) für eine dynamischen Klasse und stellt diese(n) dar.

MethodRental

Stellt eine schnelle Möglichkeit zum Austauschen der Implementierung des Methodentextes bereit, wenn eine Methode einer Klasse angegeben ist.

ModuleBuilder

Definiert eine stellt ein Modul in einer dynamischen Assembly dar.

OpCodes

Stellt Felddarstellungen der MSIL (Microsoft Intermediate Language)-Anweisungen für die Ausgabe durch die ILGenerator-Klassenmember bereit, beispielsweise Emit(OpCode).

ParameterBuilder

Erstellt Parameterinformationen oder ordnet diese zu.

PropertyBuilder

Definiert die Eigenschaften für einen Typ.

SignatureHelper

Stellt Methoden zum Erstellen von Signaturen bereit.

TypeBuilder

Definiert und erstellt zur Laufzeit neue Instanzen von Klassen.

UnmanagedMarshal

Stellt die Klasse dar, die das Marshallen eines Felds von verwaltetem zu nicht verwaltetem Code beschreibt. Diese Klasse kann nicht vererbt werden.

Strukturen

EventToken

Stellt das von den Metadaten zur Darstellung eines Ereignisses zurückgegebene Token dar.

ExceptionHandler

Stellt einen Ausnahmehandler in einem Byte-Array von IL dar, der an eine Methode wie z.B. SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>) übergeben werden soll.

FieldToken

Die FieldToken-Struktur ist eine Objektdarstellung eines Tokens, das ein Feld darstellt.

Label

Stellt eine Sprungmarke im Anweisungsstream dar. Label wird in Verbindung mit der ILGenerator-Klasse verwendet.

MethodToken

Die MethodToken-Struktur ist eine Objektdarstellung eines Tokens, das eine Methode darstellt.

OpCode

Beschreibt eine IL-Anweisung (Intermediate Language).

ParameterToken

Die ParameterToken-Struktur ist eine nicht transparente Darstellung des von den Metadaten zurückgegebenen Tokens, das einen Parameter darstellt.

PropertyToken

Die PropertyToken-Struktur ist eine nicht transparente Darstellung des von den Metadaten zurückgegebenen Token, das eine Eigenschaft darstellt.

SignatureToken

Stellt das von den Metadaten zur Darstellung einer Signatur zurückgegebene Token dar.

StringToken

Stellt ein Token dar, das eine Zeichenfolge darstellt.

TypeToken

Stellt das von den Metadaten zur Darstellung eines Typs zurückgegebene Token dar.

Enumerationen

AssemblyBuilderAccess

Definiert die Zugriffsmodi für eine dynamische Assembly.

FlowControl

Beschreibt, wie eine Anweisung die Ablaufsteuerung ändert.

OpCodeType

Beschreibt die Typen der MSIL-Anweisungen (Microsoft Intermediate Language).

OperandType

Beschreibt den Operandentyp der MSIL-Anweisung (Microsoft Intermediate Language).

PackingSize

Gibt einen von zwei Faktoren an, welche die Speicherausrichtung von Feldern bestimmen, wenn ein Typ gemarshallt wird.

PEFileKinds

Gibt den Typ der PE-Datei (Portable Executable, übertragbare ausführbare Datei) an.

StackBehaviour

Beschreibt, wie Werte auf einen Stapel gelegt bzw. von einem Stapel geholt werden.