Практическое руководство. Извлечения настраиваемых атрибутов
Обновлен: Ноябрь 2007
Можно получить пользовательские атрибуты с помощью методов GetCustomAttribute или GetCustomAttributes класса Attribute.
Чтобы получить из класса один экземпляр пользовательского атрибута
Добавьте оператор Imports в начало исходного кода для импорта класса Attribute из пространства имен System:
Imports System.Attribute
Создайте процедуру для извлечения атрибута:
Sub RetrieveAttribute() End Sub
В теле процедуры объявите переменную типа Attribute и другую переменную того же типа, что и атрибут, который необходимо извлечь:
Dim Attr As Attribute Dim CustAttr As CustomAttribute
Используйте оператор GetType для передачи тип класса и атрибута в вызов метода GetCustomAttribute и назначьте возвращенное значение переменной, объявленной как Attribute:
Attr = GetCustomAttribute(Me.GetType, _ GetType(CustomAttribute), False)
Используйте функцию CType для преобразования типа данных атрибута из универсального в определенный атрибут того типа, который подлежал извлечению. Затем присвойте результат переменной, объявленной как тип пользовательского атрибута:
CustAttr = CType(Attr, CustomAttribute)
Проверьте, был ли получен атрибут, и, если он успешно получен, воспользуйтесь полями, свойствами и методами этого атрибута:
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.
См. также
Задачи
Практическое руководство. Определение пользовательских атрибутов
Основные понятия
Извлечение информации, сохраненной в атрибуте