(0) exportieren Drucken
Alle erweitern

Ausgeben von dynamischen Methoden und Assemblys

Aktualisiert: November 2007

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 MSIL (Microsoft Intermediate Language) ausgeben und optional eine PE (Portable Executable)-Datei auf dem Datenträger generieren kann. Skriptmodule und Compiler sind die wichtigsten Benutzer dieses Namespace. Die vom System.Reflection.Emit-Namespace bereitgestellten Funktionen werden in diesem Abschnitt als Reflektionsausgabe bezeichnet.

Die Reflektionsausgabe stellt die folgenden Funktionen bereit:

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

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

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

  • Sie können zur Laufzeit Typen in Modulen definieren, Instanzen dieser Typen erstellen und ihre 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 gibt es nicht verwaltete Metadatenschnittstellen, die in der Metadatenschnittstellen-Referenzdokumentation beschrieben werden. Die verwaltete Reflektionsausgabe bietet eine bessere semantische Fehlerprüfung und einen höheren Abstraktionsgrad für Metadaten als nicht verwaltete Metadatenschnittstellen.

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

Abstraktionen für die Reflektionsausgabe

Hier werden die Reflektionsausgabeklassen aufgeführt und beschrieben, mit denen Assemblys und Typen, Methoden und Methodenparameter, Ereignisse, Konstruktoren, Eigenschaften etc. definiert werden können.

Szenarien für die Reflektionsausgabe mit dynamischen Methoden

Hier wird die Definition und Verwendung einfacher dynamischer Methoden beschrieben.

Szenarien für die Reflektionsausgabe mit dynamischen Assemblies

Hier wird das wichtigste Szenario der Reflektionsausgabe beschrieben, bei dem ein in einer dynamischen Assembly definiertes dynamisches Modul ausgegeben wird.

Anwendungsszenarien für die Reflektionsausgabe

Hier werden die von der Reflektionsausgabe unterstützten Anwendungsszenarien beschrieben, einschließlich der Ausführung eines Skriptes in einem Webbrowser bzw. in einer ASP.NET-Seite und der Kompilierung eines regulären Ausdrucks.

Sicherheitsaspekte bei der Reflektionsausgabe

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

Verwenden der Reflektionsausgabe

Hier werden grundlegende Aufgaben beschrieben, die mithilfe der Reflektionsausgabe ausgeführt werden können. Darüber hinaus stehen Ihnen Gewusst-wie-Themen zum Generieren einfacher dynamischer Methoden und Ausgeben generischer Typen und Methoden zur Verfügung.

Weitere Informationen zur Reflektionsausgabe

Beschreibt weitere Dokumentationen zur Reflektionsausgabe.

OpCodes

Hier werden die MSIL-Codeanweisungen zum Erstellen von Methodentexten in Form eines Katalogs aufgeführt.

System.Reflection.Emit

Hier werden verwaltete Klassen aufgeführt, mit denen dynamische Methoden, Assemblys und Typen ausgegeben werden.

Type

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

System.Reflection

Hier werden verwaltete Klassen aufgeführt, mit denen Metadaten und verwalteter Code durchsucht werden können.

Reflektion

Hier wird das Durchsuchen von Metadaten und verwaltetem Code erläutert.

Assemblys in der Common Language Runtime (CLR)

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft