Bug Report T539206
Visible to All Users

Code Formatter - .ToArray should be chaining with .Select, and should be indented at the same level as .Select

created 8 years ago

[DevExpress Support Team: CLONED FROM T538933: Code Formatter - How do I get what I'm looking for with a compound statement?]

For instance, what I want is:

C#
MyServiceRequest request = new MyServiceRequest() { InvoiceId = myInvoiceId, MyStuffArray = calculatedStuff .Select(myItem => new MyStuff() { StuffId = myItem.StuffId, ProductLookupId = myItem.ProductLookupId, }) .ToArray(), };

The closest I can get after playing with the formatting settings is:

C#
MyServiceRequest request = new MyServiceRequest() { InvoiceId = myInvoiceId, MyStuffArray = calculatedStuff .Select(myItem => new MyStuff() { StuffId = myItem.StuffId, ProductLookupId = myItem.ProductLookupId, }) .ToArray(), };

.ToArray should be chaining with .Select, and should be indented at the same level as .Select.

Comments (1)
DevExpress Support Team 8 years ago

    Hi Jason,
    Thanks for the code snippet.
    We are working on it. Please give us some time to research the issue in detail.

    Answers approved by DevExpress Support

    created 8 years ago

    We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

    Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

    Additional information:

    We have fixed this particular issue with indenting the ".ToArray" method call.
    We have added the "Align by First Dot" option for chained method calls, so setting this option will allow you to get the required behavior.

    The fix will be available in CodeRush for Roslyn v17.1.7.

      Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

      Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.