Для извлечения информации об атрибутах во время выполнения программы используются свойства и методы класса System.Attribute. Описание данного класса представлено в MSDN.
Imports System;
Imports System.Reflection;
Imports System.Diagnostics;
Sub ExtractAttributeInfo();
Var
Obj: TestAttribute = New TestAttribute();
ObjType, UserAttrType: System.Type;
ObjMethodInfo: MethodInfo;
Attr: System.Attribute;
Begin
//Получаем тип объекта
ObjType := Obj.GetType();
//Получаем тип класса-атрибута
UserAttrType := (New UserAttribute(UserStatus.None)).GetType();
//Получаем список методов в классе
For Each ObjMethodInfo In ObjType.GetMethods() Do
//Получаем информацию об атрибутах каждого метода класса
For Each Attr In Attribute.GetCustomAttributes(ObjMethodInfo) Do
If Attr.GetType() = UserAttrType Then
Debug.Write((Attr As UserAttribute).Status);
Debug.WriteLine(" " + (Attr As UserAttribute).AdditionalValue);
End If;
End For;
End For;
End Sub;
В данном примере создается экземпляр объекта TestAttribute, код которого приведен в описании параметров атрибутов. Для методов определены атрибуты. Значения параметров атрибутов будут выведены в консоль среды разработки.
См.также: