Я пишу несколько классов и хочу сделать их «совместимыми с привязкой данных» (для WPF или даже, возможно, более редкого WinForms) путем реализации INotifyPropertyChanged.
Проблема в повторяющемся коде. На самом деле я копирую и вставляю один и тот же метод снова и снова (я не шучу).
protected void OnPropertyChanged([CallerMemberName] String propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
У меня была эта проблема некоторое время, но сегодня, в частности, она повторяется снова и снова, поэтому я надеюсь, что вы могли бы помочь мне с решением. У меня есть почти дюжина классов с этим методом, и я очень не хочу повторять этот фрагмент кода.
Я думал о создании базового класса, который будет его реализовывать (может быть, NotifyPropertyChangedObject
для имени), но это, вероятно, плохая идея, которая действительно ограничит мои классы без множественного наследования.
Я также думал о методе расширения, но я хотел бы ограничьте его как метод protected
, так что это тоже не сработает.
Что можно сделать, чтобы решить эту проблему?