Будет ли свойство ValidationResult.MemberNames содержать более одного значения?

Я ищу с отражателем, и мне не удалось найти случай, когда ValidationResult.MemberNames должен содержать более одного значения.

Итак, прежде всего мне интересно, почему MS должен был это сделать IEnumerable<string> тогда, теперь, когда они уже сделали это, могу ли я рассчитывать, что это свойство будет возвращать только одно значение?

Обновить
Что касается системы валидации DataAnnotations, я нахожу больше неряшливости:

  1. TryValidateProperty а также TryValidateObject должен был удалить ошибки из параметра validationResults, если они больше не существуют.
  2. ValidationResult должен иметь переопределение Equals и GetHashCode.
  3. Почему изменяемый ValidationResult.ErrorMessage!? Я не могу сам построить EqualityComparer!
  4. Если DataTypeAttribute используется только для задач представления, почему он наследует ValidationAttribute, это только вводит в заблуждение, мне пришлось бороться, пока я не понял (после отражения), что он не будет работать. MS просто не реализовал это.

И список продолжается.

1 ответ

Решение

Рассмотрим пароль и подтверждение пароля. Или любые значения Start/Stop, или любая другая проверка кросс-поля.

Другие вопросы по тегам