Examples of Custom Attribute Usage

The following example defines a custom attribute that can be applied only to classes:

Example

<AttributeUsage(AttributeTargets.Class)> Public Class CustomAttribute
    Inherits System.Attribute

    'Declare two private fields to store the property values. 
    Private m_LlabelValue As String 
    Private m_VValueValue As Integer 

    'The Sub New constructor is the only way to set the properties. 
    Public Sub New(ByVal _Label As String, ByVal _Value As Integer)
        m_LlabelValue = _Label
        m_VValueValue = _Value
    End Sub 

    Public ReadOnly Property Label() As String 
        Get 
            Return m_LlabelValue
        End Get 
    End Property 

    Public ReadOnly Property Value() As Integer 
        Get 
            Return m_VValueValue
        End Get 
    End Property 
End Class

Only the constructor for the attribute class can set the properties defined in this attribute. The following code shows how you could use the attribute:

' Apply the custom attribute to this class.
<Custom("Some metadata", 66)> Class ThisClass
    ' Add class members here. 
End Class

See Also

Tasks

How to: Define Your Own Attributes

How to: Retrieve Custom Attributes

Concepts

Application of Attributes

Retrieving Information Stored in Attributes

Reference

AttributeUsageAttribute