Получить пользовательский атрибут для метода от перехватчика 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" в метод внутри интерфейса, а не внутри класса