4

今日は次のシナリオで考えています。

私はAとBの2つのクラスを持っています。

A はイベント E を公開します。

B は、弱いイベント ハンドラ「W」を使用して、このイベント「E」をサブスクライブします。

しばらくすると、誰も B への参照を保持していませんが、GC はまだ開始されていません。

B がまだ GC によって収集されておらず、A が "E" を発生させている間に、弱いイベント ハンドラーが呼び出されますか?

はい、と考えていますが、何かが欠けていない場合は好奇心旺盛です。

4

1 に答える 1

2

はい、そうなります。WeakEventManagerは、オブジェクトBが参照するオブジェクトが「生きている」(まだ収集されていない)ことを確認し、そこでイベントを発生させます。

于 2011-10-17T14:15:32.040 に答える