我有一個關於his article的問題。var handler = MyEvent in VB.net
我轉換的源代碼,Vb.net,但我有這行的一個問題:
var handler = MyEvent
誰能幫我翻譯這行到VB.net?
我有一個關於his article的問題。var handler = MyEvent in VB.net
我轉換的源代碼,Vb.net,但我有這行的一個問題:
var handler = MyEvent
誰能幫我翻譯這行到VB.net?
var handler = MyEvent;
if (handler == null)
{
Console.WriteLine("No listeners");
return;
}
可以翻譯成
Dim handler = MyEventEvent
If handler Is Nothing
Console.WriteLine("No listeners")
Return
End If
我認爲這將是要麼
Dim handler As EventHandler = MyEvent
或
Dim handler As EventHandler = AddressOf MyEvent
我已經嘗試了這兩個,但MyEvent不是一種方法,AddressOf必須得到一個方法。第一個不起作用,因爲他認爲我會打電話給事件:/ –
您需要使用Custom關鍵字聲明自定義事件以訪問基礎代理。這在MSDN Library article中有很好的解釋。
應該指出的是,捕捉像這樣的例外是非常不明智的非常。捕獲異常需要您恢復程序狀態,就好像事件從未引發一樣。撤銷任何更改都會導致部分執行的代碼。對於事件來說這是不可能的,隱式的事件契約是你不知道訂閱事件處理程序的代碼。這意味着完全不可能恢復狀態。捕獲塊必須出現在事件處理程序中,而不是在引發事件的代碼中。忽略這位博客試圖給你的建議。
然後我得到錯誤:'是一個事件,不能直接調用。 –
你確定嗎?如果該事件被命名爲* MyEvent *,則通過* MyEventEvent * – sloth
獲得委託人Ahh非常感謝。我的開發環境已經旋轉(: –