Есть класс, который реализует INotifyPropertyChanged, следовательно, в классе есть событие
public event PropertyChangedEventHandler PropertyChanged
На это событие происходит подписка в более чем 300 местах простым оператором +=. Есть цель перейти на использование WeakEventManager для избежания утечек памяти. Конечно, совсем не хочется изменять способ подписки аж в 300 местах, поэтом хочется как-то выкрутиться.
Все что я смог придумать (но это не работает):
public event PropertyChangedEventHandler PropertyChanged
{
add
{
WeakEventManager<BaseNotifyPropertyChanged, EventArgs>.AddHandler(this, "PropertyChanged", (EventHandler<EventArgs>)value);
//либо же
PropertyChangedEventManager.AddHandler(this, value, "IsDirty");
}
remove
{
//аналогичный код
}
}
И в случае с WeakEventManager, и с PropertyChangedEventManager компилятор ругается на невозможность приведения PropertyChangedEventHandler к EventHandler. Можно ли как-то решить проблему?