2009-07-28 8 views
2

例えば...私はいくつかの非同期操作を実行するメソッドを持っていて、それが完了したらコールバックの一種を通知/呼びたいと思いますが、私はデリゲートを使用しますか?非同期操作の後にデリゲートをコールバックとして使用するのは正しいですか?

私はそれがうまくいくかどうか私の頭を丸くするように見えません。誰かが私を正しい方向に向けることができますか?そのことについて

私のようなものを見ていた....

public class ContentContext 
{ 
     public delegate void SuccessCallback(Dictionary<String, String> content); 

     public void DoSomeAsyncOpertaion(SuccessCallback successCallback) 
     { 
      //do something and then fire the callback 
     } 
} 

しかし、何かがおかしいにおいがします。ので、私の無知を許し、このC#のようなもので、まだ初心者;)

乾杯 J

+0

私にはうまく見える –

+0

これは完全に正しいIMHO ... –

答えて

1

をスレッドに関するいくつかの情報を取得します。あなたが自分自身にデリゲートの宣言を保存し、ちょうどアクション<>

を使用することができますが、私はofficial patternIAsyncResultを使用することですので、私はあなたがframeowrkを開発していた場合にお勧めしたいと考えています。

2

しかし、コールバックは非同期操作と同じスレッドで呼び出されます。

これは問題がある場合は、...ネット、SynchronizationContext、BackgroundWorderに私には正常に見える

+0

コールバックスレッドの良い点。 –

関連する問題