C# Tâche.ContinueWith questions

Je voudrais utiliser la Tâche cadre de .NET pour planifier quelque chose pour s'exécuter sur un autre thread, puis quand c'est fait poursuivre par une opération de mise à jour de l'INTERFACE utilisateur sur le thread de l'INTERFACE utilisateur. (Je n'ai pas joué à beaucoup encore, il n'est donc pas très familier pour moi.)

Voici le 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)
{
...
}

Impossible de convertir implicitement le type de Système.Le filetage.Les tâches.La tâche' de 'Système.Le filetage.Les tâches.Tâche<Système.Les Collections.Génériques.Liste<Étincelle.Modèles.NewsItem>>". Une conversion explicite existe

J'ai pensé que si j'utilise le générique de la signature de la Liste<NewsItem> sur la tâche la Tâche.Résultat de retour de ce type afin que je puisse le transmettre à ma méthode...
Ce que je fais mal?

async/await peut résoudre ce problème facilement.
Ouais, n'était pas sorti quand j'ai écrit cela.

OriginalL'auteur Kelly | 2010-10-28