我有一个包含许多属性名称的List集合。
MyViewModel是一个包含要在视图上显示的所有可能属性的类。
现在我想浏览MyViewModel的集合,只获取之前在步骤1中定义的所有属性的值。
我想我必须使用反射。
我可以得到这样的属性名称:
public static string GetPropertyName<T>(Expression<Func<T>> expression)
{
var body = (MemberExpression) expression.Body;
return body.Member.Name;
}
但是,我现在如何进一步利用它来浏览集合并获取我在步骤1中定义的属性的值?
非常感谢。
答案 0 :(得分:1)
如果你有一个属性名称,你需要做(大致 - 我不能用ATM测试)
thing.GetType().Properties(propname).GetValue(thing,null);
应该返回'thing'对象上'propname'属性的值。