2013-01-23 2 views
0

В настольном рамках я могу запустить делегат asynchronously с BeginInvoke():Запуск делегат асинхронно в Windows Phone

Action<string> myAction; 
myString = "i am string"; 
myAction.BeginInvoke(myString, res => { 
           myAction.EndInvoke(res); 
          }, null); 

Но в Windows Phone я не могу это сделать, потому что не должен работать делегат asynchronously.

Так что, когда я пытаюсь запустить делегат с Task, у меня есть сообщение об ошибке:

Task ts = Task.Factory.StartNew(myAction);

Ошибка: преобразование "System.Action <string>" в "System.Action" невозможно. Конечно, я должен представить свою строку.

Любые идеи.

Спасибо заранее.

ответ

3

Просто используйте лямбда передать параметр вашей функции:

Task ts = Task.Factory.StartNew(() => myAction(myString)); 
+0

Большое спасибо, это работает отлично! – Alexandr

Смежные вопросы