Mono.CSharp.Linq.AQueryClause.BuildQueryClause C# (CSharp) Method

BuildQueryClause() public method

public BuildQueryClause ( ResolveContext ec, Expression lSide, Parameter parameter ) : Expression
ec ResolveContext
lSide Expression
parameter Parameter
return Expression
		public virtual Expression BuildQueryClause (ResolveContext ec, Expression lSide, Parameter parameter)
		{
			Arguments args = null;
			CreateArguments (ec, parameter, ref args);
			lSide = CreateQueryExpression (lSide, args);
			if (next != null) {
				parameter = CreateChildrenParameters (parameter);

				Select s = next as Select;
				if (s == null || s.IsRequired (parameter))
					return next.BuildQueryClause (ec, lSide, parameter);
					
				// Skip transparent select clause if any clause follows
				if (next.next != null)
					return next.next.BuildQueryClause (ec, lSide, parameter);
			}

			return lSide;
		}

Usage Example

示例#1
0
文件: linq.cs 项目: HusterYP/VimConf
        public virtual Expression BuildQueryClause(ResolveContext ec, Expression lSide, Parameter parameter)
        {
            Arguments args = null;

            CreateArguments(ec, parameter, ref args);
            lSide = CreateQueryExpression(lSide, args);
            if (next != null)
            {
                parameter = CreateChildrenParameters(parameter);

                Select s = next as Select;
                if (s == null || s.IsRequired(parameter))
                {
                    return(next.BuildQueryClause(ec, lSide, parameter));
                }

                // Skip transparent select clause if any clause follows
                if (next.next != null)
                {
                    return(next.next.BuildQueryClause(ec, lSide, parameter));
                }
            }

            return(lSide);
        }
All Usage Examples Of Mono.CSharp.Linq.AQueryClause::BuildQueryClause