Eu tenho um tipo, t
e eu gostaria de obter uma lista das propriedades públicas que tenham o atributo MyAttribute
. O atributo é marcado com AllowMultiple = false
, assim:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Atualmente, o que tenho é isso, mas estou pensando que há uma maneira melhor:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
Como posso melhorar isso? Peço desculpas se esta é uma duplicata, há uma tonelada de tópicos de reflexão por aí ... parece que é um assunto bastante quente.