1

デリゲート foo があり、BeginInvoke を呼び出して、IAsyncResult を var bar に取得します。

次に、EndInvoke(bar) を呼び出すと、すべて満足です。

endinvoke にバーを渡す必要があるのはなぜですか? これを要求する正確に何が起こっているのですか?リソースリークの可能性を解消するためにEndinvokeが必須であることは理解していますが、このパラメーターは意味がありません...

4

1 に答える 1

3

いいえ、それは完全に理にかなっています。デリゲートを複数回呼び出した可能性がEndResultあります。どの呼び出しについて話しているかを知るにはどうすればよいでしょうか。はIAsyncResult基本的に非同期タスクをカプセル化しています。

新しいものを見ている場合は、IAsyncResult をの不透明バージョンに少し似ているTaskと考えてください。

于 2010-11-12T21:36:04.960 に答える