C# 创建返回新的动态匿名对象的表达式
我想知道是否可以“concat”两个或多个表达式来返回一个新的表达式,该表达式基于这些表达式返回一个新的匿名对象 我的最终目标是提供一个表达式列表,并在最后获得一个表达式,该表达式返回一个新对象中包含所有属性的对象 我知道这不是很清楚,但是下面的代码示例应该可以帮助您理解 提前谢谢C# 创建返回新的动态匿名对象的表达式,c#,.net,lambda,C#,.net,Lambda,我想知道是否可以“concat”两个或多个表达式来返回一个新的表达式,该表达式基于这些表达式返回一个新的匿名对象 我的最终目标是提供一个表达式列表,并在最后获得一个表达式,该表达式返回一个新对象中包含所有属性的对象 我知道这不是很清楚,但是下面的代码示例应该可以帮助您理解 提前谢谢 表达式expr1=x=>x.Age; 表达式expr2=x=>x.Name; //我想要这个 表达式expr=x=>{x.Age,x.Name} Expression expr=x=>new{x.Age,x.Name
表达式expr1=x=>x.Age;
表达式expr2=x=>x.Name;
//我想要这个
表达式expr=x=>{x.Age,x.Name}
Expression expr=x=>new{x.Age,x.Name}不起作用吗?是的,它当然起作用,但我希望它是动态的,expr1和expr2并不总是一样的,最后,它将是一个表达式列表!但是感谢您的回答这不是一件容易的事,因为x=>{x.Age,x.Name}
在下面创建了一个新类(编译器创建了一个匿名类,您需要手动创建)@TvanB我想关键是OP需要一种动态组合expr1
和expr2
的方法,而不是编写一行新的代码。但是OP-你对这样一个目标有什么计划?您将无法访问代码等中的属性。表达式将始终返回属性?或者也可能是一个方法或常量值?