在表达式树中,如何使用需要与结果进行比较的表达式,例如.指数?

Nib*_*Pig 3 c# lambda expression-trees

我知道怎么做:

    Expression body = Expression.Call(selector.Body, "Contains", null,
        Expression.Constant("cats", typeof(string)));
Run Code Online (Sandbox Code Playgroud)

由于'contains'返回true/false,因此没有问题.

但是,我如何进行IndexOf并查看结果是否大于5?

    Expression body = Expression.Call(selector.Body, "IndexOf", null,
        Expression.Constant("cats", typeof(string)));
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 7

Expression.GreaterThan:

Expression body = 
 Expression.GreaterThan(
   Expression.Call(selector.Body, "IndexOf", null, Expression.Constant("cats")),
   Expression.Constant(5)
 );
Run Code Online (Sandbox Code Playgroud)