Attribute (C#-Programmierhandbuch)
Aktualisiert: Juli 2008
Attribute stellen eine effiziente Methode dar, um Deklarationsinformationen mit C#-Code (Typen, Methoden, Eigenschaften usw.) zu verknüpfen. Sobald das Attribut einer Programmentität zugeordnet ist, kann es zur Laufzeit mithilfe eines Verfahrens abgefragt werden, das als Reflektion bezeichnet wird. Weitere Informationen finden Sie unter Reflektion (C#-Programmierhandbuch).
Attribute treten in zwei Formen auf:
Attribute, die in der Common Language Runtime (CLR) definiert werden.
Benutzerdefinierte Attribute, die Sie erstellen können, um dem Code zusätzliche Informationen hinzuzufügen. Diese Informationen können später programmgesteuert abgerufen werden.
In diesem Beispiel wird einer Klasse mithilfe des TypeAttributes.Serializable-Attributs ein bestimmtes Merkmal zugewiesen:
[System.Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
Übersicht über Attribute
Attribute verfügen über folgende Eigenschaften:
Attribute fügen dem Programm Metadaten hinzu. Metadaten sind Informationen zu den in einem Programm definierten Typen. Alle .NET-Assemblys enthalten einen angegebenen Satz von Metadaten, die die in der Assembly definierten Typen und Typmember beschreiben. Sie können benutzerdefinierte Attribute hinzufügen, um bei Bedarf zusätzliche Informationen anzugeben.
Das Programm kann die eigenen Metadaten oder die Metadaten in anderen Programmen untersuchen, indem es Reflektion verwendet. Weitere Informationen finden Sie unter Zugriff auf Attribute mit Reflektion (C#-Programmierhandbuch).
Attribute, z. B. MarshallAsare, die extensiv in COM-Interop-Szenarios verwendet werden. Weitere Informationen finden Sie unter System.Runtime.InteropServices.MarshalAsAttribute und System.Runtime.InteropServices.StructLayoutAttribute.
Verwandte Abschnitte
Weitere Informationen finden Sie unter folgenden Themen:
Erstellen benutzerdefinierter Attribute (C#-Programmierhandbuch)
Auflösen der Mehrdeutigkeit von Attributzielen (C#-Programmierhandbuch)
Zugriff auf Attribute mit Reflektion (C#-Programmierhandbuch)
Gewusst wie: Erstellen einer Union in C/C++ mit Attributen (C#-Programmierhandbuch)
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in den folgenden Abschnitten der C#-Programmiersprachenspezifikation.
10.2.1 Attribute
17 Attribute
Siehe auch
Konzepte
Allgemeine Verwendungszwecke für Attribute
Referenz
Reflektion (C#-Programmierhandbuch)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Juli 2008 |
Übersichtsabschnitt aktualisiert. |
Korrektur inhaltlicher Fehler. |