Estoy intentando recoger todos los atributos personalizados colocados sobre una propiedad. Hay más de un Atributos del mismo tipo asignado a la propiedad, pero cuando su recogida, la colección resultante sólo contiene el primer atributo del tipo específico:AllowMultiple no funciona con atributos de propiedad?
el atributo de clase
[AttributeUsage(System.AttributeTargets.Property,
AllowMultiple = true)]
public class ConditionAttribute : Attribute{...}
Uso:
[ConditionAttribute("Test1")]
[ConditionAttribute("Test2")]
[ConditionAttribute("Test3")]
public Color BackColor{get; set;}
Ahora, cuando bucle a través de todos los pilares del 'valor' objeto cuya clase contiene la Prop "BackColor":
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value))
{
foreach (Attribute attribute in property.Attributes)
{ ... }
....
}
la propiedad de la colección .Los atributos solo contienen UN atributo del tipo "ConditionAttribute": El que tiene "Test1". Los otros son ignorados ;-(
Entonces, ¿allowMultiple no funciona para la propiedad atributos?
Gracias de antemano
Henrik
Encontré un problema similar al usar un ValidationAttribute personalizado en MVC; esto resolvió mi problema –