Поделиться через


Практическое руководство. Извлечения настраиваемых атрибутов

Обновлен: Ноябрь 2007

Можно получить пользовательские атрибуты с помощью методов GetCustomAttribute или GetCustomAttributes класса Attribute.

Чтобы получить из класса один экземпляр пользовательского атрибута

  1. Добавьте оператор Imports в начало исходного кода для импорта класса Attribute из пространства имен System:

    Imports System.Attribute
    
  2. Создайте процедуру для извлечения атрибута:

    Sub RetrieveAttribute()
    
    End Sub
    
  3. В теле процедуры объявите переменную типа Attribute и другую переменную того же типа, что и атрибут, который необходимо извлечь:

    Dim Attr As Attribute
    Dim CustAttr As CustomAttribute
    
  4. Используйте оператор GetType для передачи тип класса и атрибута в вызов метода GetCustomAttribute и назначьте возвращенное значение переменной, объявленной как Attribute:

    Attr = GetCustomAttribute(Me.GetType, _
                              GetType(CustomAttribute), False)
    
  5. Используйте функцию CType для преобразования типа данных атрибута из универсального в определенный атрибут того типа, который подлежал извлечению. Затем присвойте результат переменной, объявленной как тип пользовательского атрибута:

    CustAttr = CType(Attr, CustomAttribute)
    
  6. Проверьте, был ли получен атрибут, и, если он успешно получен, воспользуйтесь полями, свойствами и методами этого атрибута:

    If CustAttr Is Nothing Then
        MsgBox("The attribute was not found.")
    Else
        '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
    

    В приведенном выше примере процедура RetrieveAttribute вызывает метод GetCustomAttribute класса System.Attribute для получения пользовательского атрибута, примененного к классу ThisClass. GetCustomAttribute представляет собой общий метод, поэтому нет необходимости сначала создавать экземпляр System.Attribute. Функция CType преобразует возвращаемый атрибут из типа System.Attribute в тип пользовательского атрибута CustomAttribute.

См. также

Задачи

Практическое руководство. Определение пользовательских атрибутов

Основные понятия

Применение атрибутов

Извлечение информации, сохраненной в атрибуте

Ссылки

GetCustomAttribute

GetCustomAttributes

Оператор GetType

Функция CType

Функция IsNothing

Функция GetAttr

AttributeUsageAttribute