The problem is that validation AllowMultipleonly compares attributes of the same actual type (i.e., a specific instance type) - and perhaps best used with attributes sealedfor this reason.
He, for example, will apply the following (as an illegal duplicate), inheriting this from BaseAttribute:
[DerivedAttributeB()]
[DerivedAttributeB()]
public string Name { get; set; }
, , , ... ( , BaseAttribute ).
:
[Description("abc")]
[I18NDescriptionAttribute("abc")]
public string Name { get; set; }
class I18NDescriptionAttribute : DescriptionAttribute {
public I18NDescriptionAttribute(string resxKey) : base(resxKey) { }
}
, [Description] resx ( ComponentModel ..), [Description].. p >