gpt4 book ai didi

c# - PredicateBuilder 方法说明

转载 作者:行者123 更新时间:2023-11-30 21:18:53 25 4
gpt4 key购买 nike

我浏览了 PredicateBuilder来源及其实现让我很好奇。让我们看看 Or 方法的实现:

public static Expression<Func<T, bool>> Or<T> (this Expression<Func<T, bool>> expr1,
Expression<Func<T, bool>> expr2)
{
var invokedExpr = Expression.Invoke (expr2, expr1.Parameters.Cast<Expression> ());
return Expression.Lambda<Func<T, bool>>
(Expression.OrElse (expr1.Body, invokedExpr), expr1.Parameters);
}

为什么它调用新的 lambda 而不是仅对谓词主体使用 OrElse?

最佳答案

我认为这是一个打字问题:Expression.OrElse返回一个普通的表达式,而不是 Expression<Func<T, bool>> .

关于c# - PredicateBuilder 方法说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com