2010-12-16 23 views

答えて

4

自分でイベントを実装した場合は、アクセス権があると仮定して代理人にGetInvocationListを呼び出すことができます(つまり、別のクラスから呼び出しリストを取得するには、代理フィールドがpublicである必要があります。パブリックメソッドから)。

自動イベントの場合、フィールドはprivateであり、クラス内からはGetInvocationListにしかコールできません。別のクラスからリストを取得するには、それを実行してpublicメソッドの結果を戻す必要があります。

+1

+1。私は、オブジェクトが最初にマルチキャストデリゲートフィールドにイベントのリスナーを格納しなければならないという要件はないということを付け加えます。subscribe/unsubscribeメソッドのように感じることは何でもできます。イベントごとに 'Dictionary '(キーはイベント名)または 'List 'を選択した場合はどうなりますか? – Ani

+0

@Ani:確かに。しかし、そうしなければ、基本的なシナリオ(すべての加入者を呼び出す)は簡単ではありませんので、そこでの高度な使い方について話をしなければなりません。 – Jon

関連する問題