SA1111: ClosingParenthesisMustBeOnLineOfLastParameter: Cause

The closing parenthesis or bracket in a call to a C# method or indexer, or the declaration of a method or indexer, is not placed on the same line as the last parameter.

So far, my least favorite StyleCop rule, surprisingly enough.  I can grin and bear most, but this one seems to conflate the end of the statement with the last param or chained call preceding it.

   1 var myQuery = this.Session.QueryOver<Table>()
   2     .Where(abbre => abbre.AnotherTable.Id == this.someId)
   3     .JoinQueryOver(abbre => abbre.AnotherTableStill)
   4     .JoinQueryOver(ope => ope.YesAnotherTable)
   5     .JoinAlias(abbre2 => abbre2.More, () => someAlias)
   6     .Where(() => someAlias.JiveField.IsIn(someArray))
   7     .SelectList(list => list
   8     .Select(abbre => abbre.Id)
   9     .Select(abbre => abbre.ApplicantFirstName)
  10     .Select(() => someAlias.JiveField)  // I want him on his own line.
  11 );

Labels: ,