WPFアプリの弱いイベントマネージャーを使用して、XXXEventManager.AddListener(source、this);を使用して、イベントのソースをターゲットに接続しています。電話。ただし、コードが同じソースとターゲットを複数回接続することがあることに気付きました。これにより、実質的に同じ(つまり、フックアップごとに1つ)の複数のイベントが発生/処理されるように見えます。WeakEventManagerに問い合わせる(またはそれに機能を追加する)ことによって、ターゲットがすでにイベントソースに接続されているかどうかを判断することは可能ですか、それともターゲットに独自のリストを実装する必要がありますか?
また、ソースの存続期間中にイベントフックアップが存在する必要がある場合に、RemoveListenerを呼び出すために受け入れられるメソッドは何ですか?ファイナライザーを使用するとガベージコレクションに問題が発生するため、ファイナライザーを使用することはお勧めできません。これは正確ですか?