想做一些非常简单的事情,那就是获取属性的属性。现在我知道如何通过 PropertyInfo 等执行此操作,但我知道我想要获取属性的属性,因此是否可以执行以下操作:
MyAttribute attr = (MyAttribute)customer.Forename;
理想情况下要避免反射。我能想到的唯一方法是执行如下 linq 语句:
PropertyInfo pi = typeof(Customer).GetProperties().Where(x => x.Name == "Forename").FirstOrDefault();
MyAttribute attri = (MyAttribute)Attribute.GetCustomAttribute(pi, typeof(MyAttribute));
不喜欢这样,因为我必须对属性名称进行字符串比较:(
考虑到我知道我想要获取属性的属性,我认为可能有更简单的方法?