J'ai un type, t
, et je voudrais obtenir une liste des propriétés publiques qui ont l'attribut MyAttribute
. L'attribut est marqué par AllowMultiple = false
, comme ceci:Comment obtenir une liste de propriétés avec un attribut donné?
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Actuellement ce que j'ai est, mais je pense qu'il ya 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 que c'est un sujet brûlant.
Nope. Vous avez besoin d'un PropertyInfo avant de savoir si la propriété a un attribut. –