6 out of 16 rated this helpful - Rate this topic

Attributes (C# Programming Guide)

Updated: July 2008

Attributes provide a powerful method of associating declarative information with C# code (types, methods, properties, and so forth). After an attribute is associated with a program entity, the attribute can be queried at run time by using a technique called reflection. For more information, see Reflection (C# Programming Guide).

Attributes occur in two forms:

  • Attributes that are defined in the common language runtime (CLR).

  • Custom attributes that you can create, to add extra information to your code. This information can later be retrieved programmatically.

In this example, the TypeAttributes.Serializable attribute is used to apply a specific characteristic to a class:

[System.Serializable]
public class SampleClass
{
    // Objects of this type can be serialized.
}


Attributes have the following properties:

For more information, see the following sections in the C# Language Specification:

  • 10.2.1 Attributes

  • 17 Attributes

Date

History

Reason

July 2008

Updated overview section.

Content bug fix.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
typo

Attributes such as MarshallAsare used extensively in COM interop scenarios. For more information, see System.Runtime.InteropServices..::.MarshalAsAttribute

should be

Attributes such as MarshallAs are used extensively in COM interop scenarios. For more information, see System.Runtime.InteropServices..::.MarshalAsAttribute

Advertisement