Vorrei utilizzare il framework Task in .NET per pianificare un'operazione da eseguire su un thread diverso, quindi una volta terminato con un'operazione per aggiornare l'interfaccia utente sul thread dell'interfaccia utente. (Non ho giocato con esso ancora molto, quindi non è molto familiare per me.)C# Task.ContinueWith problemi
Ecco il codice:
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)
{
...
}
Impossibile convertire implicitamente il tipo 'System.Threading.Tasks.Task' a 'System.Threading.Tasks.Task < System.Collections.Generic.List <Spark.Models.NewsItem> >'. Una conversione esplicita esiste
ho pensato che se uso la firma generica di Lista <NewsItem> sul compito che la Task.Result sarebbe tornato quel tipo così ho potuto passarlo al mio metodo ... cosa sto facendo sbagliato qui?
async/await può risolvere facilmente questo problema. –
Sì, non era fuori quando ho scritto questo. – Kelly