如何检索一些属性的值?

时间:2011-07-07 10:01:53

标签: c# .net reflection

  1. 我有一个包含许多属性名称的List集合。

  2. MyViewModel是一个包含要在视图上显示的所有可能属性的类。

  3. 现在我想浏览MyViewModel的集合,只获取之前在步骤1中定义的所有属性的值。

  4. 我想我必须使用反射。

    我可以得到这样的属性名称:

    public static string GetPropertyName<T>(Expression<Func<T>> expression)
    {
        var body = (MemberExpression) expression.Body;
        return body.Member.Name;
    }
    

    但是,我现在如何进一步利用它来浏览集合并获取我在步骤1中定义的属性的值?

    非常感谢。

1 个答案:

答案 0 :(得分:1)

如果你有一个属性名称,你需要做(大致 - 我不能用ATM测试)

thing.GetType().Properties(propname).GetValue(thing,null);

应该返回'thing'对象上'propname'属性的值。