Ich möchte das Task-Framework in .NET verwenden, um etwas für die Ausführung in einem anderen Thread zu planen, dann, wenn es fertig ist, mit einer Operation zum Aktualisieren der Benutzeroberfläche im UI-Thread. (Ich habe nicht mit ihm noch viel gespielt, also ist es nicht sehr vertraut mir.)C# Task.ContinueWith Probleme
Hier ist der Code:
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)
{
...
}
kann nicht implizit konvertiert Typ ‚System.Threading.Tasks.Task‘ zu 'System.Threading.Tasks.Task < System.Collections.Generic.List <Spark.Models.NewsItem> >'. Eine explizite Umwandlung existiert
Ich dachte, wenn ich die generische Signatur von List <NewsItem> die Aufgabe verwenden, dass die Task.Result diese Art zurückkehren würde, damit ich es auf meine Methode passieren könnte ... Was soll ich tun falsch hier?
async/erwarten kann dieses Problem leicht lösen. –
Ja, war nicht draußen, als ich das schrieb. – Kelly