Aşağıda Bir uzantı yöntemiyle alanlardan öznitelik almak için bir çözüm var. Şimdi alanlar yerine yöntemlerle benzer bir şey yapmak istiyorum.Uzantı yöntemini kullanarak yöntemlere öznitelikleri erişme
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;
}
Kullanımı:
var attr = this.GetMember(x => x.AddButtonVisibility).GetAttribute<Test>();
Yani benim durumumda kullanımı bu gibi görünmelidir:
var attr = this.GetMethod(x => x.SomeMethod).GetAttribute<Test>();
hiçbir şekilde bu mümkün mü yoksa tamamen farklı bir şey denemek zorunda ?
Herhangi bir hatayla karşılaşıyor musunuz? Ne sorduğun belli değil. Aynısı, MethodInfo – Nkosi
@ Nkosi'ye uygulanmalıdır. Yukarıdaki kodlar yok, fakat aynı şeyi alan yerine yöntemler ile yapmak istiyorum. –