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.
[Note: For an example of using this attribute, see 24.1.1. end note]