Я использовал следующий кусочек кода в форме печенья для нескольких десятков классов
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Все эти классы реализуют INotifyPropertyChanged
.Чтобы заставить замолчать мои СУХИЕ сигналы тревоги, в последнее время я проводил рефакторинг этих классов для наследования моего базового класса PropertyNotifier
, единственная цель которого - предоставить NotifyPropertyChanged
для классов, которые наследуют его - которые являются десятками ViewModel
классов в моемОгромный проект.
Он чувствует себя ленивым и немного грязным.Я ухудшаю производительность или нарушаю хорошие методы проектирования?Я полагаю, что если бы уведомление об изменениях должно было быть таким простым, в среде WPF уже был бы базовый класс, который делает то, что делает мой PropertyNotifier
класс.
Обратите внимание, что по многим причинам яу меня были проблемы с производительностью моего отзывчивости пользовательского интерфейса - в основном из-за большого количества элементов управления.Поэтому я стараюсь обрезать жир везде, где могу.Есть идеи?