BRO1109: Opening parenthesis or bracket should be on the declaration line¶
The opening parenthesis of a parameter or argument list goes on the line of the name it belongs to, not on the next line. Replaces StyleCop SA1110.
Example¶
Before¶
public class Report
{
public string Title
(int year, int month)
{
return Format
(year, month);
}
private static string Format(int year, int month) => year + "-" + month;
}
After¶
public class Report
{
public string Title(
int year, int month)
{
return Format(
year, month);
}
private static string Format(int year, int month) => year + "-" + month;
}
Why¶
A name followed by ( on the next line looks like a statement that ended, and the list like something unrelated.
Keeping ( with the name makes the call or declaration read as one unit.
How the fix works¶
The ( or [ moves to the end of the name's line, and what followed it stays where it was, now as the list's first
line (like StyleCop's fix). An empty list is simply joined: new Report().
Checked: parameter lists of methods, constructors, delegates, local functions and indexers, and argument lists of
calls, new, element access, attributes and constructor initializers. A lambda's parameter list has no name before
it and isn't checked.
Not reported¶
- A comment or directive between the name and the parenthesis.
Compared with StyleCop¶
Same results as StyleCop, with the same fixed output.