C# Like算子与动态linq

C# Like算子与动态linq,c#,linq,C#,Linq,我正在使用动态linq,并试图实现包含逻辑…我需要返回 Func<Expression, Expression, bool, MethodInfo, BinaryExpression> equal的示例代码 private static Func<Expression, Expression, bool, MethodInfo, BinaryExpression> GetFuncForOperand(OperatorType operand) {

我正在使用动态linq,并试图实现包含逻辑…我需要返回

Func<Expression, Expression, bool, MethodInfo, BinaryExpression>
equal的示例代码

private static Func<Expression, Expression, bool, MethodInfo, BinaryExpression> GetFuncForOperand(OperatorType operand)
        {
      case OperatorType.Equal:
                    func = Expression.Equal;
                    break;
                case OperatorType.NotEqual:
                    func = Expression.NotEqual;
                    break;
case Operatortype.Like
//         what should I do
}

如何表示包含?

看看我的,我用c编写了自己的Like evaluator,并完成了单元测试

我不确定我是否理解您现有的代码。即使您拥有的代码也无法远程编译。也就是说,Contains逻辑将通过MethodCallExpression而不是BinaryExpression来实现。正如Jeff指出的,您需要一个MethodCallExpression和一个数组来执行Contains操作,请看一看这个SO线程的例子:我仍在尝试理解表达式的概念。如果有人能快速编码,这将是伟大的。。。我必须马上送些东西。。。