我一直在寻找一个解决方案,现在看来似乎必须是一个简单的问题。然而,我发现每一个例子创建的Task
同样的情形这一个(从How to: Extend the Async Walkthrough by Using Task.WhenAll (C# and Visual Basic)页面上MSDN拍摄)集合:等待几种不同异步操作的结果使用Task.WhenAny
IEnumerable<Task<int>> downloadTasksQuery =
from url in urlList select ProcessURLAsync(url);
我不能这样做,因为我想调用不同async
方法和await
结果......更多的东西像这样的(但不是这一点,因为这似乎并没有做任何事情):
var getTicketTasks = new List<Task<IEnumerable<ITicket>>>();
getTicketTasks.Add(new Task(() => Model.GetTicketsAsync(eventDate)));
getTicketTasks.Add(new Task(() => Model.GetGuestTicketsAsync(eventDate)));
...
getTicketTasks.Add(new Task(() => Model.GetOtherTicketsAsync(eventDate)));
IEnumerable<ITicket>[] tickets = await Task.WhenAll(getTicketTasks);
所以,我怎么能叫一些async
方法和await
使用Task.WhenAll
方法的结果?
什么是'GetTicketsAsync','GetGuestTicketsAsync'的返回类型..? – 2014-10-07 14:12:16
'任务>' –
Sheridan
2014-10-07 14:12:38