0

Async 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 に答える