我使用反射器进行搜索,但没有找到ValidationResult.MemberNames
应该包含多个值的情况。
所以,首先我想知道为什么 MS 必须这样做IEnumerable<string>
,那么既然他们已经这样做了,我可以相信这个属性只会返回一个值吗?
更新
关于 DataAnnotations 验证系统,我发现更多的草率:
- 如果它们不再存在,and 应该从 validationResults 参数中
TryValidateProperty
删除TryValidateObject
错误。 - ValidationResult 应该覆盖 Equals 和 GetHashCode。
- 为什么 ValidationResult.ErrorMessage 是可变的!?我自己无法构建 EqualityComparer!
- 如果 DataTypeAttribute 仅用于表示问题,为什么它会继承 ValidationAttribute,这只是误导,我不得不努力直到我理解(在反射之后)它不起作用。MS只是没有实现它。
而这样的例子不胜枚举。