1

这是我的代码

        _serverSocket.BeginAccept(AcceptCallback, null);

private static void AcceptCallback(IAsyncResult AR)
{
    ...
   _serverSocket.BeginAccept(AcceptCallback, null);
}

我试图将其缩短为 lambda 表达式

_serverSocket.BeginAccept(AR => {

}, null);

我在想是否有一种方法可以将 lambda 表达式作为委托方法传递给事件,我说的是如何从同一个表达式内部调用同一个 lambda 表达式的一般目的(有点像递归) , 有没有可能

在这种特殊情况下,有没有办法解决这个问题,不使用会冻结应用程序并仍然使用 lambda 作为接受回调的循环,它仍然从 lambda 表达式内部调用 begin accept

4

1 回答 1

0

你可以试试这个:

AsyncCallback asyncCallback = null;
asyncCallback = ar =>
{
    _serverSocket.BeginAccept(asyncCallback, null);
};
_serverSocket.BeginAccept(asyncCallback, null);
于 2013-10-04T09:14:57.517 回答