Muitos argumentos no BeginXXX para FromAsync?

Eu tenho um método assíncrono com a seguinte assinatura:

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

Eu quero executá-lo usando Factory.FromAsync assim:

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

mas recebo o seguinte erro:

Argumento 1: não é possível converter de 'grupo de métodos' para 'System.Func'

Parece que não há um método FromAsync sobrecarregado adequadohttp://msdn.microsoft.com/pt-br/library/system.threading.tasks.taskfactory.fromasync.aspx, suporta apenas até 5 argumentos (incluindo retorno de chamada e estado) no método BeginXXX.

Além de refatorar o método BeginXXX para obter um objeto em vez de seis argumentos, existe uma maneira de executá-lo usando FromAsync?

questionAnswers(3)

yourAnswerToTheQuestion