【发布时间】:2015-02-22 10:44:53
【问题描述】:
class someClass
{
public int Id { get; set; }
public string Name{ get; set; }
...
public string someProperty { get; set; }
}
Expression<Func<someClass, object>> selector = null;
selector = k => new { k.Id ,k.Name };
var serult = myData.Select(selector);
// .Select(p=> new {p.Name , p.Id}) etc.
此示例代码正在运行 但是;
Expression<Func<someClass, ???>> createSelector(string[] fields)
{
...
....
return ...
}
Expression<Func<someClass, ???>> selector = createSelector({"Name","Id"});
这可能吗? 此方法在运行时创建动态选择器
【问题讨论】:
-
是的,这是可能的。您需要使用反射来动态构建表达式树。这是一个动态构建表达式树的例子msdn.microsoft.com/en-us/library/bb882637.aspx
标签: c# linq select dynamic expression