Je cherche à collecter tous les attributs personnalisés placés sur une propriété. Il y a plus d'un des attributs du même type attribué à la propriété, mais quand la collecte, la collection résultant contient le premier attribut du type spécifique:AllowMultiple ne fonctionne pas avec les attributs de propriété?
L'attribut classe
[AttributeUsage(System.AttributeTargets.Property,
AllowMultiple = true)]
public class ConditionAttribute : Attribute{...}
Utilisation:
[ConditionAttribute("Test1")]
[ConditionAttribute("Test2")]
[ConditionAttribute("Test3")]
public Color BackColor{get; set;}
maintenant, quand une boucle à travers tous les accessoires de l'objet « valeur » dont la classe contient la Prop « BackColor »:
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value))
{
foreach (Attribute attribute in property.Attributes)
{ ... }
....
}
la collection propriété.Attributs ne contient qu'un seul attribut de type "ConditionAttribute": celui avec "Test1". Les autres sont ignorés ;-(
Alors ne AllowMultiple pas travailler pour la propriété Attributes?
Merci à l'avance
henrik
J'ai rencontré un problème similaire lors de l'utilisation d'un ValidationAttribute personnalisé dans MVC; Cela a résolu mon problème. –