0

如果我对异步 I/O 使用匿名方法,谁能告诉我是否可能会遇到意外行为?

举个例子:

Action<Socket> acceptedHandler = DoAccept
SocketAsyncEventArgs e = new SocketAsyncEventArgs();

e.Completed += ((sender, ea) => acceptedHandler(ea.AcceptSocket));

// Server is a Socket
if (!Server.AcceptAsync(e))
    acceptedHandler(e);

这同样适用于 BeginXXX/EndXXX 异步 I/O。

4

2 回答 2

1

使用匿名方法时无需担心。您的示例实际上是何时使用它们的一个很好的示例。不雅记得正确使用 SocketAsyncEventArgs 类。我希望你的例子是非常做作的。

于 2009-12-23T04:53:18.820 回答
1

从您粘贴的代码片段来看,似乎没有任何问题。唯一担心匿名方法的时候是在捕获变量时。

于 2009-12-23T04:55:53.137 回答