AttributeTargets is used as a parameter for AttributeUsageAttribute to enable an attribute to be associated with one or more kinds of application elements.
Member Name Description All Attribute can be applied to any element. Assembly Attribute can be applied to an assembly. Class Attribute can be applied to a class. Constructor Attribute can be applied to a constructor. Delegate Attribute can be applied to a delegate. Enum Attribute can be applied to an enumeration. Event Attribute can be applied to an event. Field Attribute can be applied to a field. GenericParameter Attribute can be applied to a generic Parameter. Interface Attribute can be applied to an interface. Method Attribute can be applied to a method. Module Attribute can be applied to a module. Parameter Attribute can be applied to a parameter. Property Attribute can be applied to a property. ReturnValue Attribute can be applied to a return value. Struct Attribute can be applied to a value type.
The following example demonstrates how AttributeTargets can be used with AttributeUsageAttribute so that a user-defined attribute class, Author, can be applied to structures and classes. The Author attribute is then applied to a class. There is no output.
C# Example
using System; [AttributeUsageAttribute(AttributeTargets.Class| AttributeTargets.Struct)] public class Author : Attribute { public Author(string Name) { this.name = Name; } string name; } [Author("John Q Public")] class JohnsClass { public static void Main() { } }
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0