Я использую слабый менеджер событий в своем приложении WPF, чтобы подключить источник события к цели, используя XXXEventManager.AddListener (source, this); вызов. Тем не менее, я заметил, что мой код иногда подключается к одному и тому же источнику и предназначается более одного раза. Это выглядит так, как будто вызывает / обрабатывает несколько событий, которые фактически одинаковы (то есть по одному на каждое подключение). Можно ли определить, подключена ли уже цель к источнику события, опросив WeakEventManager (или добавив к нему функциональность), или мне придется реализовать свой собственный список для цели?
Кроме того, каков принятый метод для вызова RemoveListener, если связь с событием должна присутствовать в течение всего времени жизни источника? Я слышал, что использование финализатора не очень хорошая практика, потому что это вызывает проблемы со сборкой мусора. Это точно?