在Windows Phone中异步运行委托

时间:2013-01-23 09:14:11

标签: c# windows-phone-7 asynchronous delegates

在桌面框架中,我可以使用asynchronously

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

但在Windows Phone我无法做到,因为不能运行委托asynchronously

所以,当我尝试用Task运行委托时,我有错误:

  

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

错误:无法将"System.Action <string>"转换为"System.Action"。当然,我应该提交我的字符串。

任何想法。

谢谢你。

1 个答案:

答案 0 :(得分:3)

只需使用lambda将参数传递给函数:

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