This documentation is archived and is not being maintained.

Retrieving Custom Attributes

You can retrieve custom attributes using the GetCustomAttribute or GetCustomAttributes methods of the System.Attribute class.

To retrieve a single instance of a custom attribute from a class

  1. Add an Imports statement to the top of your source code to import the Attribute class from the System namespace:
    Imports System.Attribute
  2. Create a procedure to retrieve the attribute:
    Sub RetrieveAttribute
    End Sub
  3. Inside the procedure, declare a variable of type Attribute, and another variable of the same type as the attribute you wish to retrieve:
    Dim Attr As Attribute
    Dim CustAttr As CustomAttribute
  4. Use the GetType operator to pass the type of the class and attribute to a call to the GetCustomAttribute method, and then assign the returned value to the variable declared as Attribute:
    Attr = GetCustomAttribute(GetType(ThisClass), _
                              GetType(CustomAttribute), False)
  5. Use the CType function to convert the attribute's data type from generic attribute to the specific attribute of the type you retrieved. Then assign the result to the variable declared as the custom attribute type:
    CustAttr = CType(Attr , CustomAttribute)
  6. Check to see if the attribute was retrieved using IsNothing, and if it was, use the fields, properties, and methods of the attribute:
    If CustAttr Is Nothing Then
       MsgBox("The attribute was not found.")
       'Get the label and value from the custom attribute.
       MsgBox("The attribute label is: " & CustAttr.Label)
       MsgBox("The attribute value is: " & CustAttr.Value)
       End If

In the above example, the GetAttr procedure calls the GetCustomAttribute method of the System.Attribute class to get the custom attribute applied to the class ThisClass. GetCustomAttribute is a shared method, so you do not need to create an instance of System.Attribute first. The CType function converts the returned attribute from type System.Attribute to the custom attribute type CustomAttribute.

See Also

Attribute.GetCustomAttribute Method | Attribute.GetCustomAttributes Method | GetType Operator | CType Function | IsNothing Function | GetAttr Function | Defining Your Own Attributes | Application of Attributes | Retrieving Information Stored in Attributes | AttributeUsageAttribute Class