2010-06-20 35 views

回答

0

除非我誤解了這個問題,否則只需檢查null即可。在調用任何事件處理程序之前,總是需要在事件處理程序中檢查null。

+1

如何檢查使用null。我使用像這樣'if(client.getPagesCompleted == null)'但顯示錯誤。 – ebattulga 2010-06-20 16:23:11

+0

多一點上下文會有所幫助。 getPagesCompleted是如何聲明的? – 2010-06-20 17:08:51

1

如果該活動與您要進行支票的班級相同,您可以比較null。但如果不是這樣,你應該問自己爲什麼你關心一個班級的內部運作。我的意思是這個班級的工作包含關注其訂戶而不是相反的事件。但是如果你真的想要這些信息,那麼包含類的事件可以爲外部世界揭示一個屬性 - 比如HasEventHandlers

0

在快速監視窗口,我發現下面的表達式btnSubmit單擊處理:

(((System.Web.UI.Control)(btnSubmit)).Events.head.handler).Method 
0

通過喬恩斯基特呈現在您明確實施的事件處理將是解決這一問題的最好辦法一個老solution

方法如下:

private EventHandler m_myEvent; 

public event EventHandler OnEvent 
{ 
    add 
    { 
     // First try to remove the handler, then re-add it 
     m_myEvent -= value; 
     m_myEvent += value; 
    } 
    remove 
    { 
     m_myEvent -= value; 
    } 
} 

在您擁有多路廣播委託的情況不太可能發生,你可能會遇到的異常行爲。

相關問題