【问题标题】:passing a lambda expression as call back function at the very same lambda expression在同一个 lambda 表达式中将 lambda 表达式作为回调函数传递
【发布时间】:2013-10-11 05:05:14
【问题描述】:

这是我的代码

        _serverSocket.BeginAccept(AcceptCallback, null);

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

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

_serverSocket.BeginAccept(AR => {

}, null);

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

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

【问题讨论】:

标签: c# lambda delegates


【解决方案1】:

你可以试试这个:

AsyncCallback asyncCallback = null;
asyncCallback = ar =>
{
    _serverSocket.BeginAccept(asyncCallback, null);
};
_serverSocket.BeginAccept(asyncCallback, null);

【讨论】:

  • 这没有任何意义。看起来是递归的,委托调用委托...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多