我有一个问题..在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”,但没有做到这一点。我还能做些什么来解决这个问题?谢谢。
答案 0 :(得分:6)
acceptClient()
将调用没有参数的方法acceptClient
并返回结果。你想要的是将方法添加为事件处理程序:
mAcceptor.OnAccepted += acceptClient;
注意缺少括号;你正在使用该方法而不是调用它。