Ostatnio dość sporo musiałem pracować z atrybutami dodawanymi do własności klasy, stąd też ten o do kod:
public static T GetAttribute<T>(this MemberDescriptor value) where T : Attribute
{
return (T)value.Attributes.Cast<Attribute>().First(attr => attr is T);
}
Zwraca on wam atrybut o danym typie. Sposób wykorzystania:
var props = TypeDescriptor.GetProperties(obj);
foreach(PropertyDescriptor prop in props)
{
var attr = prop.GetAttribute<DescriptionAttribute>();
Console.WriteLine(attr.Description);
}
Może komuś się przyda.















Można to jeszcze skrócić i zwiększyć czytelność eliminując rzutowanie:
return value.Attributes.OfType<T>().First();
Comments are closed.