コード例 #1
0
        protected override Expression VisitMethodCall(MethodCallExpression node)
        {
            // skip Visiting Include or Stats method members
            if (_skippedMethods.Contains(node.Method.Name))
            {
                return(node);
            }



            if (IsContainmentMethod(node.Method))
            {
                var visitor = new ContainmentParameterVisitor(_serializer, _queryType, ParameterSetters);
                return(visitor.Visit(node));
            }

            _parser = _stringMethods.FirstOrDefault(x => x.Matches(node));

            try
            {
                return(base.VisitMethodCall(node));
            }
            finally
            {
                _parser = null;
            }
        }
コード例 #2
0
        protected override Expression VisitMethodCall(MethodCallExpression node)
        {
            // skip Visiting Include or Stats method members
            if (_skippedMethods.Contains(node.Method.Name))
            {
                return(node);
            }

            if (IsContainmentMethod(node.Method))
            {
                var visitor = new ContainmentParameterVisitor(_serializer, _queryType, _parameterSetters);
                return(visitor.Visit(node));
            }

            return(base.VisitMethodCall(node));
        }