protected internal override Expression VisitSelect(SelectLinqExpression node) { HasSelect = true; var reducedSource = Visit(node.Source); Visit(node.Selector); return(node.Reduce(reducedSource)); }
protected internal override Expression VisitSelect(SelectLinqExpression node) { var source = Visit(node.Source); if (source != node.Source) { return(new SelectLinqExpression(node.Method, source, node.Selector)); } return(node); }
/// <summary> /// Visits the children of a <see cref="SelectLinqExpression"/>. /// </summary> /// <param name="node">The expression to visit.</param> /// <returns>If any children were modified, a new <see cref="SelectLinqExpression"/>. Otherwise, the original expression.</returns> protected internal virtual Expression VisitSelect(SelectLinqExpression node) { var source = Visit(node.Source); var selector = (LambdaExpression)Visit(node.Selector); if (source != node.Source || selector != node.Selector) { return(new SelectLinqExpression(node.Method, source, selector)); } return(node); }