Übersicht über Attribute
Wenn Sie bereits mit C++ gearbeitet haben, sind Sie wahrscheinlich mit Deklarationen unter Verwendung von Schlüsselwörtern wie public und private vertraut, die zusätzliche Informationen über Klassenmember bereitstellen. 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.