2010-12-16 68 views

回答

4

如果您自己實現了該事件,那麼假設您有權訪問它,則可以在委託上調用GetInvocationList(即,從另一個類獲取調用列表,必須公開委託字段或必須返回調用列表從公開的方法)。

如果這是一個自動事件,則該字段爲private,並且您只能在班級中致電GetInvocationList。您將需要這樣做,並從public方法返回結果以從另一個類獲取列表。

+1

+1。我會補充說,沒有要求對象必須首先將事件的偵聽器存儲在多播委託字段中 - 它可以做任何感覺像在訂閱/取消訂閱方法。如果它在每個事件的基礎上選擇了一個'Dictionary '(鍵是事件名稱)或'List 「呢? – Ani 2010-12-16 10:42:24

+0

@Ani:絕對。但是,如果你不這樣做,那麼基本場景(調用所有用戶)就不那麼簡單了,所以我們必須在那裏談論真正的高級用法。 – Jon 2010-12-16 10:45:12

相關問題