C# 将Start()方法和已完成事件包装到任务中
我正在将一个应用程序从Silverlight迁移到Windows 8,我想利用System.Theading.Tasks API。我有很多类,它们有一个Start()方法,完成后会触发一个已完成的事件。有人知道如何将其包装在任务中吗 传统的异步模式是每个异步调用的开始和结束方法。您可以使用FromAsync方法将其包装到任务中 。您可以使用相同的函数,但可以使用Start和End方法。您可以使用该类。它将允许您手动控制任务的完成 例如:C# 将Start()方法和已完成事件包装到任务中,c#,.net,microsoft-metro,C#,.net,Microsoft Metro,我正在将一个应用程序从Silverlight迁移到Windows 8,我想利用System.Theading.Tasks API。我有很多类,它们有一个Start()方法,完成后会触发一个已完成的事件。有人知道如何将其包装在任务中吗 传统的异步模式是每个异步调用的开始和结束方法。您可以使用FromAsync方法将其包装到任务中 。您可以使用相同的函数,但可以使用Start和End方法。您可以使用该类。它将允许您手动控制任务的完成 例如: var tcs = new TaskCompletionS
var tcs = new TaskCompletionSource<int>();
myService.Completed += (sender,args) => { tcs.SetResult(args.Value) };
myService.Start();
return tcs.Task;
var tcs=new TaskCompletionSource();
myService.Completed+=(发送方,args)=>{tcs.SetResult(args.Value)};
myService.Start();
返回tcs.Task;
不幸的是,许多框架元素不支持该模型。例如,WPF动画元素只是从Start()返回void。这不会泄漏任务吗?