Mono.CSharp.Linq.Select.IsRequired C# (CSharp) Method

IsRequired() public method

public IsRequired ( Parameter parameter ) : bool
parameter Parameter
return bool
		public bool IsRequired (Parameter parameter)
		{
			SimpleName sn = expr as SimpleName;
			if (sn == null)
				return true;

			return sn.Name != parameter.Name;
		}

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);
        }