Name
AttributeTargets
Synopsis
This enumeration is used to set
the
AttributeUsageAttribute.ValidOn
property when
creating a custom attribute. It allows you to specify the code
elements for which a custom attribute can be used. You can use a
bitwise combination of these values to specify multiple elements.
Using this attribute is the only means by which a custom attribute
can declare a restriction of its usage against various metadata
types. For example, when using the
System.Reflection.AssemblyKeyFileAttribute
attribute, which simply tells the compiler which public/private
keyfile to use to sign the assembly, it makes no sense to apply to
any other metadata type besides the assembly. Therefore, the
AssemblyKeyFileAttribute
attribute has an
AttributeUsageAttribute
(see the
AttributeUsageAttribute
entry) declared on it with
the value Assembly
. As a result, any attempt to
use the AssemblyKeyFileAttribute
attribute on
anything other than an assembly results in a compilation error.
public enum AttributeTargets { Assembly = 0x00000001, Module = 0x00000002, Class = 0x00000004, Struct = 0x00000008, Enum = 0x00000010, Constructor = 0x00000020, Method = 0x00000040, Property = 0x00000080, Field = 0x00000100, Event = 0x00000200, Interface = 0x00000400, Parameter = 0x00000800, Delegate = 0x00001000, ReturnValue = 0x00002000, All = 0x00003FFF }
Hierarchy
Object
→
ValueType
→
Enum(IComparable, IFormattable
, IConvertible)
→
AttributeTargets
Returned By
AttributeUsageAttribute.ValidOn
Passed To
AttributeUsageAttribute.AttributeUsageAttribute( ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.