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 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.