Zbyt wiele argumentów w BeginXXX dla FromAsync?

Mam metodę asynchroniczną z następującym podpisem:

IAsyncResult BeginGetMyNumber(string foo, string bar, string bat, int bam, AsyncCallback callback, object state)

Chcę to wykonać za pomocą Factory.FromAsync w następujący sposób:

var result  = Task<int>.Factory.FromAsync(
                instance.BeginGetMyNumber, 
                instance.EndGetMyNumber, 
                "foo",
                "bar",
                "bat",
                100, /*bam*/
                null);

ale pojawia się następujący błąd:

Argument 1: nie można przekonwertować z „grupy metod” na „System.Func”

Wydaje się, że nie ma odpowiedniej przeciążonej metody FromAsynchttp://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspx, obsługuje tylko do 5 argumentów (w tym wywołanie zwrotne i stan) w metodzie BeginXXX.

Czy poza sposobem zmiany metody BeginXXX w celu pobrania obiektu zamiast sześciu argumentów istnieje sposób na wykonanie go za pomocą FromAsync?

questionAnswers(3)

yourAnswerToTheQuestion