Я пишу несколько Resarper Custom Patterns, чтобы предупредить нас о некоторых конструкциях кода, которые требуют внимания. Одним из них является замена OnpropertyChanged ("String") на лямбда-вариант OnPropertyChanged (() => имя свойства)
Шаблон поиска, который я определил:
public $type$ $property$
{
get { return $backingfield$; }
set
{
if($backingfield$ != value) {
$backingfield$ = value;
OnPropertyChanged($String$);
}
}
}
Этот шаблон заменяется на:
public $type$ $property$
{
get { return $backingfield$; }
set
{
if($backingfield$ != value) {
$backingfield$ = value;
OnPropertyChanged(() => $property$);
}
}
}
Проблема:
При применении этого Resharper выбрасывает атрибуты, определенные в свойстве.
Этот фрагмент:
[MyAttribute]
public int Test
{
get { return _Test; }
set
{
if (_Test != value)
{
_Test = value;
OnPropertyChanged("Test");
}
}
}
заменяется на
public int Test
{
get { return _Test; }
set
{
if (_Test != value)
{
_Test = value;
OnPropertyChanged(() => Test);
}
}
}
Как я могу сохранить атрибуты ??
UPDATE :
Добавление заполнителя типа, полученного из System.Attribute к шаблону поиска и замены, исправляет его частично.
[$Attributes$]
...
Остальная проблема заключается в том, что заполнитель атрибута соответствует только одному атрибуту, он не работает для нескольких атрибутов.