【发布时间】:2012-07-25 07:54:19
【问题描述】:
我在这里只是简单地提出这个问题,所以这个例子对现实世界没有任何意义。
public class BusinessEntity<T>
{
public int Id {get; set;}
}
public class Customer : BusinessEntity<Customer>
{
public string FirstName { get; set;}
public string LastName { get; set;}
}
当我尝试通过反射获取 Customer 类属性时,我无法获取泛型基类的属性。如何从 BusinessEntity 获取 ID?
Type type = typeof(Customer);
PropertyInfo[] properties = type.GetProperties();
// Just FirstName and LastName listed here. I also need Id here
【问题讨论】:
-
刚刚测试过,我返回的属性数组总是有3个条目(VS2012,尝试了多个目标框架)。
-
"如何从 BusinessEntity 获取 ID?"去洗眼睛? :p
-
诀窍是:当您简化问题的代码时,检查它是否仍然显示问题。如果确实没有显示问题,那么看看真实代码和简化代码有什么不同,然后你就自己回答了。
-
我现在在笑自己(:谢谢大家。也非常感谢您的好意建议。
标签: c# .net reflection