我希望使用.NET中的Task框架来安排一些在不同线程上运行的任务,然后在完成时继续使用UI线程更新UI操作。(我还没有太多实践经验,所以对它并不是很熟悉。)
以下是代码:
以下是代码:
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将返回该类型,以便我可以将其传递给我的方法...我在这里做错了什么?