Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

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:

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




July 2008

Updated overview section.

Content bug fix.

Community Additions

© 2015 Microsoft