The AttributeUsage attribute specifies the types of items to which an attribute can be applied.
AttributeUsage is another name for the System.AttributeUsageAttribute class.
AttributeUsage has the following constructor:
AttributeUsage(AttributeTargets item)
item specifies the item or items upon which the attribute can be used.
AttributeTargets is an enumeration that defines the following values:
- All
- Assembly
- Class
- Constructor
- Delegate
- Enum
- Event
- Field
- Interface
- Method
- Module
- Parameter
- Property
- ReturnValue
- Struct
Two or more of these values can be ORed together.
AttributeTargets.Field | AttributeTargets.Property
- AttributeUsage supports two named parameters: AllowMultiple and Inherited.
- AllowMultiple, a bool value. Whether the attribute can be applied more than one time to a single item.
- Inherited, a bool value. Whether the attribute is inherited by derived classes.
- The default setting for both AllowMultiple and Inherited is false.