2012-01-20 7 views
0

例外を処理しているかどうかを確認するために、すべてのイベント登録抹消メモリリークの投稿を確認したくないので、私は新しい投稿をしています。例外によるイベント登録解除のメモリリーク

私はイベントを持つ関数を登録し、登録を解除する前に例外が発生すると、メモリリークが発生しますか?私は呼び出し関数内でtry/catchを持っていますが、イベントを配線/配線する関数ではなく、必要がなければtry/catchを持たないでしょう。

答えて

1

ほとんどのサブスクリプション方法では、サブスクライブしないイベントサブスクライバのライフタイムは、イベントソースのライフタイムに延長されます。イベントソースが短命の場合、これは問題にはなりません。イベントソースが長寿命の場合、これは大きな問題になる可能性があります。最高のイディオムは、一般的にIDisposableのイベントを断つことです。 "using"ブロックを使用する場合は、Disposeメソッドが呼び出され、イベントがサブスクライブされないようにします。

関連する問題