回调函数

5

我有一个方法叫做"funct",当我在使用C#中的"beingreceive" socket方法时,我希望将它作为我的回调函数。

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

我遇到的错误是:

没有重载与委托“System.AsyncCallback”匹配

这里可能出了什么问题?
4个回答

6
"

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

"
void funct(IAsyncResult ar) { }

2

你不能仅仅使用任何方法作为回调函数。该函数必须具有特定的签名(参数列表)。


1

什么是funct?它是一个委托吗? 如果是,它的签名与AsyncCallback委托不兼容。

funct必须是一个像这样的方法:

void SomeMethod(IAsyncResult ar)

0
你的'funct'方法签名是什么样子的?
它返回void吗?
它是否只有一个类型为IAsyncResult的参数?
换句话说,你的'funct'方法是否符合Asynccallback委托?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接