Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建返回新的动态匿名对象的表达式_C#_.net_Lambda - Fatal编程技术网

C# 创建返回新的动态匿名对象的表达式

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

我想知道是否可以“concat”两个或多个表达式来返回一个新的表达式,该表达式基于这些表达式返回一个新的匿名对象

我的最终目标是提供一个表达式列表,并在最后获得一个表达式,该表达式返回一个新对象中包含所有属性的对象

我知道这不是很清楚,但是下面的代码示例应该可以帮助您理解

提前谢谢

表达式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-你对这样一个目标有什么计划?您将无法访问代码等中的属性。表达式将始终返回属性?或者也可能是一个方法或常量值?