Attribute
It's not static fixed by the language it self, and you're free to invent an asscoiate any information of any kind.
An attribute is actually a class derived from the System.Attribute.
It's commcon practice to derine attribute class names as ending in Attribute and then omit that part of the name.
[STAThread] single-threaded apartment, only to application that use COM inerop.
* Place more than on attribute on a declaration
[Serialization, Obsolete, CLSCompliant(true)]
public class Foo{}[Serialization] [Obsolete] [CLSCompliant(true)]
public class Bar{}Querying for Attribute
To query a type or a member about its attached attributes, we must use reflection.
Class Attribute <Type>
Reflection allows