我有一个列表集合,其中包含许多属性名称。
MyViewModel是一个类,其中包含要在视图上显示的所有可能的属性。
现在,我想遍历MyViewModel的集合,并仅获取先前在步骤1)中定义的所有那些属性的值。
我认为我必须使用反思。
我可以这样获得属性名称:
public static string GetPropertyName<T>(Expression<Func<T>> expression)
{
var body = (MemberExpression) expression.Body;
return body.Member.Name;
}
但是,我现在如何进一步利用它来遍历集合并仅获取在步骤1中定义的属性的值?
非常感谢。
最佳答案
如果您有一个属性名称,则需要做(大致-我无法在ATM上对其进行测试)
thing.GetType().Properties(propname).GetValue(thing,null);
它将返回“ thing”对象上“ propname”属性的值。
关于c# - 如何检索多个属性的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6608817/