听起来有点复杂,但这是我想要做的:
我将MyObject
in的某些属性过滤List<MyObject>
到一个新的 LINQ 对象中:
var filteredMyObjects = from r in myObjects select new { r.ComponentName, r.Group, r.Key };
现在的问题是 Properties ComponentName
,Group
并且Key
应该作为输入(例如List<string>
属性名称)。这在我的逻辑中用于将数据导出到 excel 中。
我一直在尝试将它与这个想法结合起来:
typeof(MyObject).GetProperty(property).GetValue(objectInstance) as string
但是我无法理解如何实现它。
编辑:
请参阅我需要实现的示例:
List<string> userDefinedPropeties = new List<string> {Property1, Property2, Property3 ... }
var filteredMyObjects = from r in myObjects select new { r.Property1, r.Property2, r.Property3 ... };
理想的答案看起来像这样,除了这个解决方案在我的情况下不起作用: Linq access property by variable