Freigeben über


Übersicht über Metadaten

Aktualisiert: November 2007

Mit Metadaten werden Laufzeittypen (Klassen, Schnittstellen und Werttypen), Felder und Methoden sowie interne Implementierungs- und Layoutinformationen beschrieben, die von der Common Language Runtime (CLR) verwendet werden, um Microsoft Intermediate Language (MSIL) "just in time" (JIT) zu kompilieren, Klassen zu laden, Code auszuführen und mit klassischen COM-Elementen oder der systemeigenen Umgebung zu interagieren. Die Metadaten sind in jeder CLR-Komponente enthalten und stehen der Laufzeit, den Tools und Diensten zur Verfügung.

Die Bearbeitung der Metadaten erfolgt über die Metadaten-API, die einen Client (Tools und Dienste) von den zugrunde liegenden Datenstrukturen isoliert und eine austauschbare Dauerhaftigkeitsformatarchitektur bereitstellt, die eine transparente Übertragung von binären Laufzeitdarstellungen, Typbibliotheken der klassischen COM-Elemente und anderen Formaten in und aus dem Arbeitsspeicher ermöglicht.

Die Metadaten-API beinhaltet Schnittstellen, die Metadaten ausgeben (d. h. generieren) und importieren. Ein Client kann Metadaten folgendermaßen ausgeben oder importieren:

  • Compiler und Tools geben Metadaten aus, indem sie die "Ausgabe"-APIs aufrufen. Metadaten werden während der Kompilierung und des Verknüpfungsvorgangs ausgegeben. RAD-Tools geben Metadaten als Teil der Erstellung von Komponenten oder Anwendungen aus. Die API-Member schreiben und lesen in den speicherresidenten Datenstrukturen. Beim Speichern werden diese speicherresidenten Strukturen komprimiert und im Binärformat in der Zielkompilierungseinheit (OBJ-Datei), ausführbaren Datei (EXE-Datei) oder in der eigenständigen binären Metadatendatei beibehalten. Wenn mehrere Kompilierungseinheiten verknüpft werden, um eine EXE oder DLL zu bilden, stellen die "Ausgabe"-API-Member eine Methode bereit, mit der die Metadatenabschnitte der einzelnen Kompilierungseinheiten in einer einzigen, integrierten binären Metadatendatei zusammengeführt werden.

  • Das Ladeprogramm und andere Laufzeittools und -dienste importieren Metadaten durch Aufrufen von "Import"-API-Membern, um Informationen über Komponenten zu erhalten. Auf diese Weise können Aufgaben wie Laden und Aktivieren abgeschlossen werden.

In diesem Abschnitt

Siehe auch

Weitere Ressourcen

Übersicht über Metadaten

Metadatenschnittstellen

Globale statische Metadatenfunktionen

Metadatenenumerationen

Metadatenstrukturen

Metadaten-Unions

Standard-EMCA-335: Common Language Infrastructure (CLI)

ECMA C# and Common Language Infrastructure Standards