奇怪的一个,我不仍然得到,是这样的:异常表达式
说,
try
{
stateClient.Socket.BeginSend(messagePrefixed, 0, messagePrefixed.Length,
SocketFlags.None, ar => stateClient.Socket.EndSend(ar), stateClient);
}
catch (SocketException ex)
{
// Handle SocketException.
}
catch (ObjectDisposedException ex)
{
// Handle ObjectDisposedException.
}
我不明白为什么有ObjectDisposedException
返回lambda表达式没有抓到!?我正在深入研究lambda,我无法理解它。是关于lambda的范围吗?范围变量?线程问题?我知道lambda没有多线程的本质,但你可以看到返回来自另一个由BeginSend
创建的线程。在将实现转换为lambda之前,当我有一个处理EndSend
的AsyncCallBack
方法时,这没问题。
任何帮助表示赞赏。 预先感谢您。
很好解释马克,谢谢.. –