public void VisitParameterList(ParameterListSyntax node) { if (node == null) throw new ArgumentNullException("node"); node.Validate(); if (node.Parameters.Count == 0) { if (_writer.Configuration.Spaces.BeforeParentheses.MethodDeclarationEmptyParentheses) _writer.WriteSpace(); } else { if (_writer.Configuration.Spaces.BeforeParentheses.MethodDeclarationParentheses) _writer.WriteSpace(); } _writer.WriteSyntax(Syntax.OpenParen); if (_writer.Configuration.Other.AlignMultiLineConstructs.MethodParameters) _writer.SetAlignmentBreak(true); bool spacesWithin = false; if (node.Parent != null) { switch (node.Parent.SyntaxKind) { case SyntaxKind.MethodDeclaration: spacesWithin = node.Parameters.Count > 0 ? _writer.Configuration.Spaces.WithinParentheses.MethodDeclarationParentheses : _writer.Configuration.Spaces.WithinParentheses.MethodDeclarationEmptyParentheses; break; } } if (spacesWithin) _writer.WriteSpace(); bool hadOne = false; foreach (var parameter in node.Parameters) { if (hadOne) _writer.WriteListSeparator(); else hadOne = true; parameter.Accept(this); } if (spacesWithin && node.Parameters.Count > 0) _writer.WriteSpace(); if (_writer.Configuration.Other.AlignMultiLineConstructs.MethodParameters) _writer.SetAlignmentBreak(false); _writer.WriteSyntax(Syntax.CloseParen); }