c# - 如何检索多个属性的值?

标签 c# .net reflection

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

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

  3. 现在我想遍历 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/

相关文章:

c# - 如何在 WPF 中为图表添加水平线 ("goal line")?

c# - 以编程方式生成sql代码

java - java中如何获取类的字段名

c# - 使用通用类型的开关序列化响应

c# - 删除命名空间标签(xmlns :) from XMLSerializer

c# - .ToUniversalTime(),为什么会这样?

java - 什么是 java.lang.reflect.Field#slot?

c# - 获取同名方法的集合

c# - MD5CryptoServiceProvider FIPS 合规性

C# LockBits 性能(int[,] 到 byte[])