非同期プログラミング モデルを使用するコードがあるとします。つまり、同期または非同期で使用できるグループとして次のメソッドを提供します。
public MethodResult Operation(<method params>);
public IAsyncResult BeginOperation(<method params>, AsyncCallback callback, object state);
public MethodResult EndOperation(IAsyncResult ar);
私がやりたいことは、次のように、このコードをイベント駆動型の非同期モデルに変換する追加のレイヤーでラップすることです。
public void OperationAsync(<method params>);
public event OperationCompletedEventHandler OperationCompleted;
public delegate void OperationCompletedEventHandler(object sender, OperationCompletedEventArgs e);
これを達成する方法についてのガイダンス (またはそのようなガイダンスへのリンク) はありますか?