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