Подтвердить что ты не робот

ReSharper 7.1 "Свойство с опорным полем" Перемещение полей неуместно

Недавно я обновился до R # 7.1, и у меня возникла эта проблема, когда действие To Property With Backing Field смещает мои поддерживающие поля и перемещает их в начало класса.

Пример:

Шаг 1. Определите свойство auto:

public class MyClass
{
    //... Lots of members here

    public int MyNewProperty {get;set;} // <- Create auto Property
}

Шаг 2: ReSharper "Свойство с опорным полем"

enter image description here

Ожидаемый результат:

public class MyClass
{
    //... Lots of members here

    private int _myNewProperty; // <- Backing field immediately above property
    public int MyNewProperty 
    {
       get
       {
           return _myNewProperty;
       }
       set
       {
           _myNewProperty = value;
       }
    }
}

Полученный результат:

public class MyClass
{
    private int _myNewProperty; // <- Backing field on top of the class

    //... Lots of members here


    public int MyNewProperty 
    {
       get
       {
           return _myNewProperty;
       }
       set
       {
           _myNewProperty = value;
       }
    }
}

Я уже играл с конфигурацией Type Members Layout, комментируя часть "экземпляры полей", например:

<!--instance fields-->
<!--<Entry>
       <Match>
            <And>
               <Kind Is="field"/>
               <Not>
                   <Static/>
               </Not>
            </And>
       </Match>
       <Sort>
           <Readonly/>
           <Name/>
       </Sort>
    </Entry>-->

Но я все равно получаю такое же поведение.

Q: Как я могу предотвратить это поведение и вернуть его в V6.X?

4b9b3361

Ответ 1

Здесь - комментарий на русском языке от разработчика JetBrains. Статья посвящена выпуску R # 8. Он сказал, что размещение частных полей в начале является гораздо более распространенным случаем использования, чем помещение его вблизи собственности. Он посоветовал открыть билет в своей системе обратной связи. Более того, он сказал, что, возможно, они вводят такую ​​настройку в версии 8.1.
Короче говоря, это невозможно сейчас.