Csharp/C#教程:如何组合Expression <Func > ?分享


如何组合Expression <Func > ?

我有一个数组

Expression<Func> 

但是,我想将它们全部组合在一起以获得该类型的单个项目。 我该怎么做呢? 我可以投射Expression.And的结果吗?

如果您使用以下扩展方法:

 public static Expression> And (this Expression> expr1, Expression> expr2) { var invokedExpr = Expression.Invoke (expr2, expr1.Parameters.Cast ()); return Expression.Lambda> (Expression.AndAlso (expr1.Body, invokedExpr), expr1.Parameters); } 

从这里: http : //www.albahari.com/nutshell/predicatebuilder.aspx

然后你可以写这个将它们全部折叠成一个表达式。

上述就是C#学习教程:如何组合Expression <Func > ?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public Expression> AggregateAnd(Expression>[] input) { return input.Aggregate((l,r) => l.And(r)); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/999113.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐