Ниже у меня есть решение получить атрибуты из полей с помощью метода расширения. Теперь я хочу сделать подобное с методами вместо полей.Доступ к атрибутам в методах с использованием метода расширения
public static MemberInfo GetMember<T, R>(this T instance, Expression<Func<T, R>> selector)
{
var member = selector.Body as MemberExpression;
return member?.Member;
}
public static T GetAttribute<T>(this MemberInfo meminfo) where T : Attribute
{
return meminfo.GetCustomAttributes(typeof(T)).FirstOrDefault() as T;
}
Использование:
var attr = this.GetMember(x => x.AddButtonVisibility).GetAttribute<Test>();
Так что в моем случае использование должно выглядеть примерно так:
var attr = this.GetMethod(x => x.SomeMethod).GetAttribute<Test>();
Возможно ли это каким-либо образом, или я должен попробовать что-то совершенно другое ?
У вас возникли ошибки? Неясно, что вы просите. То же самое относится к MethodInfo – Nkosi
@Nkosi Нет кода выше, но я хочу сделать то же самое с методами вместо полей. –