我有一个 List 集合,其中包含许多属性名称。
MyViewModel 是一个包含要在 View 上显示的所有可能属性的类。
现在我想遍历 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/