gpt4 book ai didi

C# 和 VB.NET 引发事件差异

转载 作者:行者123 更新时间:2023-12-03 02:58:25 25 4
gpt4 key购买 nike

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

最佳答案

acceptClient()

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

mAcceptor.OnAccepted += acceptClient;

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

关于C# 和 VB.NET 引发事件差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17876514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com