Ich bin dabei, alle benutzerdefinierten Attribute zu sammeln, die über eine Eigenschaft platziert werden. Es gibt mehr als ein Attribut des gleichen Typs zum Immobil zugewiesen, aber wenn sie zu sammeln, die ich ergebende Sammlung enthält nur das erste Attribut des spezifischen Typs:AllowMultiple funktioniert nicht mit Eigenschaftsattributen?
Die Attributklasse
[AttributeUsage(System.AttributeTargets.Property,
AllowMultiple = true)]
public class ConditionAttribute : Attribute{...}
Verbrauch:
[ConditionAttribute("Test1")]
[ConditionAttribute("Test2")]
[ConditionAttribute("Test3")]
public Color BackColor{get; set;}
wenn nun durch alle Requisiten des Objekts ‚Wert‘, dessen Klasse enthält die Stütze „Backcolor“ Looping:
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value))
{
foreach (Attribute attribute in property.Attributes)
{ ... }
....
}
die Sammlung property.Attributes enthält nur ein Attribut vom Typ "ConditionAttribute": Das mit "Test1". Die anderen werden ignoriert ;-(
So funktioniert AllowMultiple nicht für Immobilien arbeiten Attribute?
Vielen Dank im Voraus
henrik
Ich habe ein ähnliches Problem bei der Verwendung eines benutzerdefinierten ValidationAttribute in MVC festgestellt; Das hat mein Problem gelöst. –