Возьмите эти две вещи кода:
instance.GetType()
.GetCustomAttributes(true)
.Where(item => item is ValidationAttribute);
И
TypeDescriptor.GetAttributes(instance)
.OfType<ValidationAttribute>();
Если класс выглядит так:
[RequiredIfOtherPropertyIsNotEmpty("State", "City", ErrorMessage = ErrorDescription.CreateAccount_CityRequiredWithState)]
[RequiredIfOtherPropertyIsNotEmpty("State", "Address1", ErrorMessage = ErrorDescription.CreateAccount_Address1RequiredWithState)]
public class ManagePostModel
{
...
}
Где RequiredIfOtherPropertyIsNotEmpty
является ValidationAttribute
и имеет AllowMultiple = true
.
Первый возвращает два атрибута, второй возвращает один.
Какая разница, что может вызвать это?