Erweitern von Metadaten mithilfe von Attributen

Wenn Sie bereits mit C++ gearbeitet haben, sind Sie wahrscheinlich mit Deklarationen vertraut, die Schlüsselwörter wie public und private enthalten und die zusätzliche Informationen zu Klassenmembern bieten. Durch diese Schlüsselwörter wird das Verhalten von Klassenmembern genauer definiert, indem der Zugriff durch andere Klassen beschrieben wird. Da Compiler explizit für die Erkennung vordefinierter Schlüsselwörter entwickelt wurden, gab es früher keine Möglichkeit, eigene Schlüsselwörter zu erstellen. Mithilfe der Common Language Runtime können Sie nun beschreibende Deklarationen hinzufügen, die als Attribute bezeichnet werden. Sie ähneln Schlüsselwörtern und werden zum Kommentieren von Programmierelementen, wie Typen, Feldern, Methoden und Eigenschaften, verwendet.

Beim Kompilieren von Code für die Laufzeit wird dieser in MSIL (Microsoft Intermediate Language) konvertiert und mit den vom Compiler generierten Metadaten in einer PE-Datei (Portable Executable) abgelegt. Mit Attributen können Sie Metadaten weitere beschreibende Informationen hinzufügen, die mit Reflexionsdiensten zur Laufzeit extrahiert werden können. Der Compiler erstellt Attribute, wenn Sie Instanzen spezieller Klassen deklarieren, die von System.Attribute abgeleitet werden.

In .NET Framework werden Attribute aus unterschiedlichen Gründen eingesetzt und zur Lösung verschiedener Probleme verwendet. Attribute beschreiben das Serialisieren von Daten, legen Eigenschaften zum Erzwingen von Sicherheit fest und beschränken Optimierungen durch den JIT-Compiler (Just-In-Time), sodass auch weiterhin ein einfaches Debuggen des Codes möglich ist. Außerdem können Attribute auch einen Dateinamen oder den Verfasser von Code aufzeichnen und während der Entwicklung von Formularen die Sichtbarkeit von Steuerelementen und Membern steuern.

Mithilfe von Attributen sind Ihnen beim Verfassen von Code fast keine Grenzen gesetzt. Darüber hinaus bieten sich Ihnen neue flexible Möglichkeiten zur Beeinflussung des Laufzeitverhaltens. Mit Attributen können Sie C#, Visual C++, Microsoft Visual Basic 2005 oder einer beliebigen anderen Sprache für die Laufzeit eigene beschreibende Elemente hinzufügen, ohne den Compiler umschreiben zu müssen.

Verwandte Themen

Titel

Beschreibung

Anwenden von Attributen

In diesem Abschnitt wird die Anwendung eines Attributs auf ein Codeelement beschrieben.

Verfassen von benutzerdefinierten Attributen

Beschreibt, wie benutzerdefinierte Attributklassen entworfen werden.

Abrufen von Informationen aus Attributen

Beschreibt, wie benutzerdefinierte Attribute für Code abgerufen werden, der in den Ausführungskontext geladen wird.

Metadaten und selbstbeschreibende Komponenten

Dieser Abschnitt bietet eine Übersicht über Metadaten und beschreibt ihre Implementierung in einer .NET Framework-PE-Datei (Portable Executable).

Gewusst wie: Laden von Assemblys in den reflektionsbezogenen Kontext

Erläutert das Abrufen benutzerdefinierter Attributinformationen im ausschließlich reflektionsbezogenen Kontext.

Verweis

System.Attribute