Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Ausgeben von dynamischen Methoden und Assemblys

 

In diesem Abschnitt wird ein Satz verwalteter Typen im System.Reflection.Emit-Namespace beschrieben, mit denen ein Compiler oder ein Tool zur Laufzeit Metadaten und Microsoft Intermediate Language (MSIL) ausgeben und optional eine übertragbare ausführbare Datei (PE-Datei) auf dem Datenträger generieren kann.  Dieser Namespace wird primär von Skriptmodulen und Compilern verwendet.  Die vom System.Reflection.Emit-Namespace bereitgestellte Funktionalität wird in diesem Abschnitt als Reflektionsausgabe bezeichnet.  

Die Reflektionsausgabe bietet die folgenden Funktionen:

  • Sie können mithilfe der DynamicMethod-Klasse einfache globale Methoden zur Laufzeit definieren und diese mithilfe von Delegaten ausführen.

  • Sie können Assemblys zur Laufzeit definieren und anschließend ausführen und/oder auf dem Datenträger speichern.

  • Sie können Assemblys zur Laufzeit definieren, sie ausführen und dann entladen und der Garbage Collection ermöglichen, die zugehörigen Ressourcen freizugeben.

  • Sie können Module in neuen Assemblys zur Laufzeit definieren und anschließend ausführen und/oder auf dem Datenträger speichern.

  • Sie können Typen in Modulen zur Laufzeit definieren, Instanzen dieser Typen erstellen und deren Methoden aufrufen.

  • Sie können symbolische Informationen für definierte Module angeben, die von Tools wie Debuggern und Codeprofilern verwendet werden können.

Neben den verwalteten Typen im System.Reflection.Emit-Namespace sind nicht verwaltete Metadatenschnittstellen verfügbar, die in der Referenzdokumentation zu Metadatenschnittstellen beschrieben werden.  Die verwaltete Reflektionsausgabe bietet eine bessere semantische Fehlerüberprüfung und einen höheren Abstraktionsgrad für Metadaten als die nicht verwalteten Metadatenschnittstellen.  

In der Common Language Infrastructure(CLI)-Dokumentation, insbesondere in den Themen "Partition II: Metadata Definition and Semantics" und "Partition III: CIL Instruction Set" finden Sie weitere hilfreiche Informationen zur Verwendung von Metadaten und MSIL.  Die Dokumentation ist online auf MSDN und auf der Ecma-Website verfügbar.  

In diesem Abschnitt

Sicherheitsaspekte bei der Reflektionsausgabe

Beschreibt Sicherheitsaspekte im Zusammenhang mit dem Erstellen dynamischer Assemblys mithilfe der Reflektionsausgabe.

Referenz

OpCodes

Hier werden die MSIL-Anweisungcodes zum Erstellen von Methodentexten katalogisiert.

System.Reflection.Emit

Hier werden verwaltete Klassen aufgeführt, die zum Ausgeben von dynamischen Methoden, Assemblys und Typen verwendet werden.

Type

Hier wird die Type-Klasse beschrieben, die Typen in der verwalteten Reflektion und Reflektionsausgabe darstellt. Diese Klasse ist das wichtigste Element bei der Verwendung dieser Technologien.

System.Reflection

Hier werden verwaltete Klassen aufgeführt, die zum Durchsuchen von Metadaten und verwaltetem Code verwendet werden.

Verwandte Abschnitte

Reflektion in .NET Framework

Erläutert das Durchsuchen von Metadaten und verwaltetem Code.

Assemblys in der Common Language Runtime (CLR)

Bietet eine Übersicht über Assemblys in .NET Framework.

Anzeigen: