Ho un tipo t
e vorrei ottenere un elenco delle proprietà pubbliche che hanno l'attributo MyAttribute
. L'attributo è contrassegnato con AllowMultiple = false
, in questo modo:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Attualmente quello che ho è questo, ma sto pensando che c'è un modo migliore:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
Come posso migliorare questo? Mi scuso se questo è un duplicato, ci sono un sacco di fili di riflessione là fuori ... sembra che sia un argomento piuttosto caldo.