This documentation is archived and is not being maintained.

17.4.1 The AttributeUsage attribute

Visual Studio .NET 2003

The attribute AttributeUsage is used to describe the manner in which the attribute class can be used.

A class that is decorated with the AttributeUsage attribute must derive from System.Attribute, either directly or indirectly. Otherwise, a compile-time error occurs.

namespace System
{
   [AttributeUsage(AttributeTargets.Class)]
   public class AttributeUsageAttribute: Attribute
   {
      public AttributeUsageAttribute(AttributeTargets validOn) {...}
      public virtual bool AllowMultiple { get {...} set {...} }
      public virtual bool Inherited { get {...} set {...} }
      public virtual AttributeTargets ValidOn { get {...} }
   }
   public enum AttributeTargets
   {
      Assembly    = 0x0001,
      Module       = 0x0002,
      Class       = 0x0004,
      Struct       = 0x0008,
      Enum          = 0x0010,
      Constructor = 0x0020,
      Method       = 0x0040,
      Property    = 0x0080,
      Field       = 0x0100,
      Event       = 0x0200,
      Interface    = 0x0400,
      Parameter    = 0x0800,
      Delegate    = 0x1000,
      ReturnValue = 0x2000,
      All = Assembly | Module | Class | Struct | Enum | Constructor | 
         Method | Property | Field | Event | Interface | Parameter | 
         Delegate | ReturnValue
   }
}
Show: