我正在使用字符串表达式构建动态 lamda 表达式 ParseAsExpression
。问题是我无法弄清楚如何解析一个数组的表达式包含一个像这样的对象mylist.Contains(x.Id)
完整示例
var list = new int[] { 4,5,6};
var whereFunction = new Interpreter().SetVariable("mylist", list);
whereFunction.ParseAsExpression<Func<Person, bool>>("(person.Age == 5 && person.Name.StartsWith(\"G\")) || person.Age == 3 && mylist.Contains(person.Id)", "person");