我有一个类似下面的课程
public class Foo<T>
{
public List<T> Items{ get; set; }
}
和
我有一个上面的实例,
Foo<Bar> bars = GetBars();
如何使用反射获取Bar的属性?
我试试这个
PropertyInfo[] properties = bars.Items.First().GetType().GetProperties();
但我认为,这不是一个好方法,有没有更好的方法呢?
答案 0 :(得分:6)
var Properties = bars.GetType().GetGenericArguments()[0].GetProperties();
假设您不知道列表将包含的类型。
如果它始终是Bar
,请使用typeof(Bar).GetProperties();
答案 1 :(得分:1)
尝试:
var properties = typeof(Bar).GetProperties();