Короче говоря, очень длинная история ... Это большой проект WPF
У меня есть класс «Пациент», который реализует INotifyPropertyChanged
. Когда я избавляюсь от этого класса, я проверяю, что PropertyChangedEventHandler
равен нулю, и если нет, запускаю его для класса ListenerDetector
, который регистрирует слушателей, чтобы мы могли отследить их и устранить утечки. У пациента есть некоторые свойства, которые связаны с элементами WPF, а также с другими объектами, которые используют PropertyChanged
для отслеживания изменений.
После утилизации всего остального мой результат в журнале выглядит следующим образом:
Журнал: к пациенту по-прежнему подключены следующие слушатели:
- System.ComponentModel.PropertyChangedEventManager
Вопрос:
Когда создается PropertyChangedEventManager
?
- Когда создается пациент
- Когда WPF связывается со свойством пациента
- Какой-то другой момент.
Если для Patient.PropertyChangedEventHandler
установлено значение null
и, следовательно, оно отключено от PropertyChangedEventManager
, есть ли способ восстановить диспетчер и снова прослушать Patient.PropertyChangedEventHandler
? Пожалуйста, не спрашивайте, почему это произойдет, это точка напряжения здесь :-(