示例#1
0
        public static List <ParsedExpression> GetParsedExpressions(Expression predicate)
        {
            var visitor = new WhereExpressionVisitor();

            visitor.Visit(predicate);
            return(visitor.parsedExpressions);
        }
示例#2
0
        private bool HandleWhereMethod(MethodCallExpression node)
        {
            if (node.Method.Name != "Where")
            {
                return(false);
            }

            var whereExpressions = WhereExpressionVisitor.GetParsedExpressions(node.Arguments[1]);

            whereExpressions.ForEach(e => this.whereExpressions.Push(e));

            return(true);
        }