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

Для извлечения информации об атрибутах во время выполнения программы используются свойства и методы класса 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, код которого приведен в описании параметров атрибутов. Для методов определены атрибуты. Значения параметров атрибутов будут выведены в консоль среды разработки.

См.также:

Атрибуты