protected override Expression VisitSimpleLambdaExpression(SimpleLambdaExpression node) { this.Write("^"); if (node.ReturnType != null) { this.Write(node.ReturnType); } this.Write("("); foreach (ParameterExpression parameter in node.Parameters) { this.Write(parameter.Type); this.Write(" "); this.Write(parameter.Name); } this.WriteLine(")"); if (node.Body.NodeType != ExpressionType.Block) { using (this.AcquireIndentationContext(BraceLanguageStyleIndentationOptions.IncludeBraces)) { if (node.Variables.Count > 0) { foreach (var variable in node.Variables) { this.WriteVariableDeclaration((ParameterExpression)variable); } this.WriteLine(); } this.Visit(node.Body); } } else { this.Visit(node.Body); } return node; }
protected virtual Expression VisitSimpleLambdaExpression(SimpleLambdaExpression expression) { var body = this.Visit(expression.Body); var parameters = this.VisitExpressionList(expression.Parameters); if (body != expression.Body || parameters != expression.Parameters) { return new SimpleLambdaExpression(expression.ReturnType, body, expression.Variables, parameters); } return expression; }
protected override Expression VisitSimpleLambdaExpression(SimpleLambdaExpression node) { this.Write('('); for (var i = 0; i < node.Parameters.Count; i++) { var paramterExpression = node.Parameters[i] as ParameterExpression; if (paramterExpression == null) { continue; } this.Write(paramterExpression.Name); if (i < node.Parameters.Count - 1) { this.Write(", "); } } this.WriteLine(") => "); this.Visit(node.Body); return node; }