私は次の署名を持つ非同期メソッドを持っています:
IAsyncResult BeginGetMyNumber(string foo, string bar, string bat, int bam, AsyncCallback callback, object state)
次のようにFactory.FromAsyncを使用して実行したいと思います。
var result = Task<int>.Factory.FromAsync(
instance.BeginGetMyNumber,
instance.EndGetMyNumber,
"foo",
"bar",
"bat",
100, /*bam*/
null);
しかし、次のエラーが発生します。
引数1:「メソッドグループ」から「System.Func」に変換できません
適切なオーバーロードされたFromAsyncメソッドhttp://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspxはないようです。これは、最大5つの引数(コールバックと状態を含む)のみをサポートします。 BeginXXXメソッドで。
BeginXXXメソッドをリファクタリングして6つの引数ではなくオブジェクトを取得する以外に、FromAsyncを使用してオブジェクトを実行する方法はありますか?