2013-07-26 75 views
2

我有一個問題..在VB.NET我不得不這樣子,例如:C#和VB.NET提高事件差異

Sub AcceptClient(ByRef pSocket As Socket) 
'Some Code... 
End Sub 

然後,我都這樣了,叫它每當事件引發:

AddHandler mAcceptor.OnAccepted, AddressOf AcceptClient 

然而,在C#中,我這樣做的時候,使用下面的代碼:

mAcceptor.OnAccepted += acceptClient(); 
void acceptClient(Socket pSocket) 

它說我錯過了pSocket說法。但是,在VB.NET中,它的工作完美無瑕。爲什麼?我嘗試添加「ref」,但沒有成功。我還能做些什麼來解決這個問題?謝謝。

回答

6
acceptClient() 

會調用方法acceptClient不帶參數並返回結果。你想要的是添加該方法作爲事件處理程序:

mAcceptor.OnAccepted += acceptClient; 

注意缺少括號;你正在使用該方法而不是調用它。