5

我有一个名为funct 的方法,当我在c# 中使用beingreceive 套接字方法时,我想将它作为我的回调函数。

s.BeginReceive(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None,
               new AsyncCallback(funct), null);

得到的错误是:

'funct' 没有重载匹配委托 'System.AsyncCallback'

这里可能有什么问题?

4

4 回答 4

6

“funct”必须是具有以下签名的方法:

void funct(IAsyncResult ar) { }
于 2009-03-12T14:56:19.860 回答
2

您不能只使用任何方法进行回调。该函数必须具有特定的签名(参数列表)。

于 2009-03-12T14:55:58.613 回答
1

什么是功能?是代表吗?如果是,它的签名与 AsyncCallback 委托不兼容。

funct 必须是如下所示的方法:

void SomeMethod(IAsyncResult ar)
于 2009-03-12T14:57:27.470 回答
0

您的“功能”方法签名如何?

它返回 void 吗?

它是否只有一个 IAsyncResult 类型的参数?

换句话说,您的“功能”方法是否符合Asynccallback委托?

于 2009-03-12T14:57:25.910 回答