Если вы хотите это как проверка кода и быстрое исправление, вы можете создать шаблон структурной замены.Перейдите в ReSharper> Параметры> Проверка кода> Пользовательские шаблоны, нажмите Добавить шаблон и введите следующее:
Шаблон поиска:
public $type$ $name$ {get;set;}
, где $ type $ - это заполнитель типа System.Object или производный, а $ name $ является идентификатором-заполнителем.
Заменить шаблон:
private string _$name$;
public string $name$
{
get
{
return _$name$;
}
set
{
if (_$name$ != value)
{
_$name$ = value;
RaisePropertyChanged(() => $name$);
}
}
}
Установите для параметра Pattern Severity определенный уровень серьезности, который влияет на то, как ReSharper выделяет совпадения в тексте.редактор.При желании введите описание для обоих шаблонов, чтобы описание шаблона поиска было сосредоточено на проблеме (т. Е. «Это обычное свойство является подозрительным»), а описание замены шаблона нацелено на решение проблемы (т. Е. «Замените реализацией INotifyPropertyChanged»).готово.
Теперь у этого подхода есть две проблемы:
- У вас нет возможности повлиять на регистр $ name $ placeholder - после развертывания ReSharper, скорее всего, будет окрашиватьновое свойство с проверками «несогласованных имен» по всему
- Это не работает на моей машине :) Исходное свойство подсвечивается, быстрое исправление для шаблона замены есть, но оно просто не работаетприменить это.Мне либо нужно поспать, либо подать отчет об ошибке.Обновление: решил, что мне нужны оба.Вот отчет об ошибке