我想使用.NET中的任务框架来安排在不同线程上运行的东西,然后在完成后继续执行更新UI线程上的UI的操作。 (我还没有发挥它的还不很多,所以它不是很熟悉我。)C#任务继续有问题
下面是代码:
Task<List<NewsItem>> fetchTask = new Task<List<NewsItem>>(() =>
{
List<NewsItem> items = Rss.FetchNewsItems(feed);
return items;
}).ContinueWith(x => UpdateNewsItems(x.Result),CancellationToken.None,TaskContinuationOptions.None,scheduler);
private void UpdateNewsItems(List<NewsItem> items)
{
...
}
无法隐式转换类型“System.Threading.Tasks.Task”来'System.Threading.Tasks.Task < System.Collections.Generic.List <Spark.Models.NewsItem> >'。显式转换存在
我想,如果我使用List <NewsItem>的一般签名的任务是,Task.Result都将返回一个类型,所以我可以将它传递给我的方法... 我在做什么这里错了吗?
异步/等待可以很容易地解决这个问题。 – 2016-06-28 14:51:17
是的,当我写这个时没有出来。 – Kelly 2016-07-03 04:08:53