我在这里简单地提出了这个问题,因此该示例无法为真实世界做出任何贡献。无法通过反射获取泛型类型的属性
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,尝试多个目标框架)。 – Timbo 2012-07-25 07:58:56
“如何从BusinessEntity获取Id?”去洗你的眼睛? :p – 2012-07-25 08:00:25
这里有个诀窍:当你简化问题的代码时,*检查它是否仍然显示问题*。如果它没有**显示问题,那么看看真实代码和简化代码之间的区别,然后你自己回答*。 – 2012-07-25 08:03:10