Получить пользовательский атрибут для метода от перехватчика Castle Windsor

Я пытаюсь получить доступ к пользовательскому атрибуту, применяемому к методу внутри перехватчика замка, но метод Attribute.GetCustomAttribute() возвращает ноль.

public class MyIntecept : Castle.DynamicProxy.IInterceptor
{
    public void Intercept(IInvocation invocation)
    {
       // myAttr is null. 
       var myAttr = (MyAttribute)Attribute.GetCustomAttribute(
            invocation.Method, typeof(MyAttribute));   
    }
}

[AttributeUsage(AttributeTargets.All, Inherited = true, AllowMultiple = true)]
public class MyAttribute : Attribute
{
    readonly string _value;

    public MyAttribute(string value)
    {
        this._value = value;
    }

    public string Value
    {
        get { return this._value; }
    }
}

public interface IMyInterface
{
    void Do();
}

public class MyClass : IMyInterface
{
    [MyAttribute("MyValue")]
    public void Do()
    {
        Console.WriteLine("Do");
    }
}

Как я могу получить MyAttribute?

PS Я использую Castle.Core 3.3.3

1 ответ

Поместите атрибут "MyAttribute" в метод внутри интерфейса, а не внутри класса

Другие вопросы по тегам