Action<T>
非同期メソッドのコールバックを使用するWebAPIクライアントをラップするWPFアプリのサービスレイヤーを作成しています。Task
とにかくメソッドをラップする必要があるので、コールバックを公開するのではなく、サービスレイヤーのラッパーメソッドを.NET4.5の新しいベースの非同期パターンに準拠させることを検討していましたAction<T>
。
現在、ベースの非同期の差し迫った必要性はTask
ありませんが、必ずしもコールバックを維持する必要がある理由はなく、ラッピングは十分に簡単に思えます(ここで説明します)。下位互換性は問題ではありません。とは言うものの、タスクラッピングへのそのようなコールバックに落とし穴がある場合Action<T>
、私は現状を維持します。