7

假设我在 C# 中有以下代码

        var stringList = GetListOfStrings();
        var firstString = stringList.Where(s => true)
                                    .Where(s => true)
                                    .Where(s => true)
                                    .FirstOrDefault();

它做的不是很多,但它以我喜欢的方式被 ReSharper 和 Resharpers Code Cleanup 功能格式化。

现在假设我重写了该代码以仅调用该方法GetListOfStrings而无需先将其分配给变量。在这种情况下,Resharper 将其格式化如下:

            var firstString = GetListOfStrings()
                .Where(s => true)
                .Where(s => true)
                .Where(s => true)
                .FirstOrDefault();

有没有办法改变这一点,所以 ReSharper 将其格式化如下?

            var firstString = GetListOfStrings().Where(s => true)
                                                .Where(s => true)
                                                .Where(s => true)
                                                .FirstOrDefault();

如果有任何区别,我正在使用 ReSharper 8 Beta 和 VS 2013 预览版。

4

2 回答 2

9

我认为您正在这里的“对齐多行构造”标题下寻找“链式方法调用”选项:

在此处输入图像描述

于 2013-07-09T20:58:48.607 回答
7

使用 Resharper,您可以使用以下选项:

Code Editing-> C#-> Formatting Style-> Line Breaks and Wrapping-> Line Wrapping->Wrap chained method callsChop always

启用Code Editing-> C#-> Formatting Style-> Other-> Align Multiline Constructs->Chained method calls

于 2013-07-09T21:01:04.870 回答