У меня есть асинхронный метод со следующей сигнатурой:
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, чтобы взять объект, а не шесть аргументов, есть ли способ выполнить его с помощью FromAsync?