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:

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten der C#-Programmiersprachenspezifikation.

  • 10.2.1 Attribute

  • 17 Attribute

Siehe auch

Konzepte

C#-Programmierhandbuch

Übersicht über Attribute

Allgemeine Verwendungszwecke für Attribute

Referenz

Reflektion (C#-Programmierhandbuch)

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2008

Übersichtsabschnitt aktualisiert.

Korrektur inhaltlicher Fehler.