Миграция PropertyChanged.Fody

Я использовал NotifyProperyWeaver и заметил, что он устарел в последней сборке Fody с использованием PropertyChanged.Fody.

У меня был NotifyProperyWeaver, чтобы переплетать только те свойства, для которых у меня были атрибуты, а все остальные уведомления были отключены.

Есть ли способ настроить PropertyChanged.Fody таким образом, чтобы переплетались только [атрибутированные] свойства? а не наоборот. Я не вижу никакой информации на странице документации, есть ли скрытое свойство в FodyWeavers.xml

<?xml version="1.0" encoding="utf-8"?>
<Weavers>
  <PropertyChanged />
</Weavers>

person maxfridbe    schedule 09.01.2013    source источник


Ответы (1)


Этот вопрос также задавали здесь https://github.com/Fody/PropertyChanged/issues/5 и из этого вопроса...

PropertyChanged.Fody делает предположение, что если вы реализуете INotifyPropertyChanged, то, скорее всего, захотите уведомлять о большинстве, если не обо всех, свойствах. Если вы хотите исключить их, что должно быть исключением, а не правилом, вы можете добавить [DoNotNotifyAttribute] к классу или свойству. подробнее см. здесь https://github.com/Fody/PropertyChanged/wiki/Attributes

person Simon    schedule 12.01.2013
comment
Это очень плохое предположение - person Eugene Strizhok; 08.02.2014
comment
@EugeneStrizhok почему? где нет накладных расходов на производительность - person Simon; 08.02.2014
comment
Что ж. Возможно, я слишком остро отреагировал. :) Но я вижу довольно частый случай, когда автоматические уведомления внедряются в существующий проект, и может не хотеться перебирать все типы, реализующие INotifyPropertyChange, чтобы их адаптировать. В этом случае желательно задать поведение Fody.PropertyChanged таким образом, чтобы он переплетал только явно отмеченные классы. - person Eugene Strizhok; 08.02.2014
comment
Насколько я помню, у NotifyPropertyWeaver была такая опция. - person Eugene Strizhok; 08.02.2014
comment
@EugeneStrizhok правильно, у NotifyPropertyWeaver была такая опция. но это устаревший вариант из-за эволюции NPW. это никогда не было дизайнерским решением совести. так что при перезагрузке с PropertyChanged.Fody его удалили. И объем кода для поддержки этой функции был нетривиальным, поэтому он был удален. - person Simon; 09.02.2014