NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

17.4.1 The AttributeUsage attribute

The AttributeUsage attribute 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.

[AttributeUsage(AttributeTargets.Class)]
public class AttributeUsageAttribute: System.Attribute
{
   public AttributeUsageAttribute(AttributeTargets validOn) {…}
   public AttributeUsageAttribute(AttributeTargets validOn, 
                                    bool allowMultiple, 
                                    bool inherited) {…}
   public bool AllowMultiple { virtual get {…} virtual set {…} }
   public bool Inherited { virtual get {…} virtual set {…} }
   public AttributeTargets ValidOn { virtual 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,
   All = Assembly | Module | Class | Struct | Enum | Constructor | 
         Method | Property | Field | Event | Interface | Parameter | 
         Delegate,
   ClassMembers  =  Class | Struct | Enum | Constructor | Method | 
                  Property | Field | Event | Delegate | Interface,
}