2

我有一个问题.. 在 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”,但没有成功。我还能做些什么来解决这个问题?...谢谢。

4

1 回答 1

6
acceptClient()

将调用acceptClient不带参数的方法并返回结果。您想要的是将方法添加为事件处理程序:

mAcceptor.OnAccepted += acceptClient;

注意没有括号;您正在使用该方法而不是调用它。

于 2013-07-26T08:28:47.013 回答