Metadaten-Attribut

Eintrag zuletzt aktualisiert am: 11.01.2024

Assemblies, Klassen, Methoden, Ereignisse und Attribute, also alle Typen und alle Typmitglieder, können mit zusätzlichen Auszeichnungen/Merkmalen versehen werden, die zur Laufzeit ausgewertet werden. So kann zum Beispiel deklariert werden, dass ein Objekt serialisierbar sein soll oder ein bestimmtes Attribut in einer Klasse bei der Serialisierung unberücksichtigt bleiben soll. Attribute sind Metadaten, da sie den Programmcode näher beschreiben.

Leider hat Microsoft eine von der objektorientierten Lehre abweichende Begriffswelt: Microsoft nennt eine derartige Auszeichnung Attribut (engl. Attribute), was einen Namenskonflikt zu dem Begriff Attribut in der objektorientierten Lehre (vgl. für den deutschen Sprachraum [OES97], S. 157 und für den englischen Sprachraum [OXF97], S. 243) darstellt. Letztere Attribute nennt Microsoft Felder (engl. Fields) und Eigenschaften (engl. Properties). Ein klarer Fall von MINFU.

Um diesen Namenskonflikt zu lösen, es es besser, die Begriffe
für die Auszeichnungen verwendet. Der Begriff "Attribut" steht für die normalen Daten-Mitglieder einer Klasse.

Annotationen werden in Visual Basic .NET in spitze Klammern <AttributName> und in C# in eckige Klammern [Attributname] gesetzt.

Annotationen werden erst verarbeitet, wenn ein Typ explizit nach Attributen angefragt wird.