Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

AttributeTargets Enumeration

 

Specifies the application elements on which it is valid to apply an attribute.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

<SerializableAttribute>
<FlagsAttribute>
<ComVisibleAttribute(True)>
Public Enumeration AttributeTargets

Member nameDescription
All

Attribute can be applied to any application 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 structure; that is, a value type.

The AttributeUsageAttribute class uses this enumeration to specify the kind of element on which it is valid to apply an attribute.

AttributeTargets enumeration values can be combined with a bitwise OR operation to get the preferred combination.

The following example illustrates the application of attributes to various targets.

System_CAPS_noteNote

Visual Basic and Visual C++ syntax currently do not support the application of attributes to type parameters.

Imports System

Module DemoModule
	' This attribute is only valid on a class.
	<AttributeUsage(AttributeTargets.Class)> _
	Public Class ClassTargetAttribute
        Inherits Attribute
	End Class

	' This attribute is only valid on a method.
	<AttributeUsage(AttributeTargets.Method)> _
	Public Class MethodTargetAttribute
        Inherits Attribute
	End Class

	' This attribute is only valid on a constructor.
	<AttributeUsage(AttributeTargets.Constructor)> _
	Public Class ConstructorTargetAttribute 
        Inherits Attribute
	End Class

	' This attribute is only valid on a field.
	<AttributeUsage(AttributeTargets.Field)> _
	Public Class FieldTargetAttribute 
        Inherits Attribute
	End Class

	' This attribute is valid on a class or a method.
	<AttributeUsage(AttributeTargets.Class Or AttributeTargets.Method)> _
	Public Class ClassMethodTargetAttribute 
        Inherits Attribute
	End Class

	' This attribute is valid on any target.
	<AttributeUsage(AttributeTargets.All)> _
	Public Class AllTargetsAttribute 
        Inherits Attribute
	End Class

	<ClassTarget, _
	ClassMethodTarget, _
	AllTargets> _
	Public Class TestClassAttribute
		<ConstructorTarget, _
		AllTargets> _
		Public Sub New
		End Sub

		<MethodTarget, _
		ClassMethodTarget, _
		AllTargets> _
		Public Sub Method1()
		End Sub

		<FieldTarget, _
		AllTargets> _
		Public myInt as Integer
	End Class

	Sub Main()
	End Sub
End Module

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2016 Microsoft