GetCustomAttributes(true)不从类型父类返回属性
本文关键字:类型 父类 返回 属性 true GetCustomAttributes | 更新日期: 2023-09-27 18:13:54
我有以下(大大简化的)类:
public class Customer {
[Required(ErrorMessageResourceName="Required", ErrorMessageResourceType=typeof(ResourcesCommon.ValidationStrings))]
public string LastName { get; set; }
}
public class SalesCustomer : Customer {
...
}
我有一些循环遍历SalesCustomer属性的验证代码。每个属性都是这样计算的:
var validators = property.GetCustomAttributes(typeof(ValidationAttribute), true);
问题是,当我查看SalesCustomer类型上的LastName属性时,Required属性没有返回,但当我查看Customer类型时,它确实工作得很好。这是令人困惑的,因为GetCustomerAttribute()方法显式地需要一个布尔值,表示将返回继承的属性。
我相信它只会返回覆盖的父成员的属性,而不是阴影父成员的属性。
使基属性为virtual
,子属性为overrrides
。