J'ai un type, t
et j'aimerais obtenir une liste des propriétés publiques qui ont l'attribut MyAttribute
. L'attribut est marqué AllowMultiple = false
comme suit:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Actuellement, ce que j'ai, c'est ceci, mais je pense qu'il y a une meilleure façon:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
Comment puis-je améliorer cela? Mes excuses s'il s'agit d'un doublon, il y a une tonne de fils de réflexion là-bas ... semble être un sujet assez brûlant.