请看这两段代码:
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
。
第一个返回两个属性,第二个返回一个。
这种差异的原因是什么?