Je suis en train de mettre en place un simple lecteur de flux RSS dans Windows Phone 7, mais j'ai du mal à comprendre comment fonctionne le modèle asynchrone. Ce que j'ai est une classe d'aide que quand je le passe une URL analysera et construira un objet ViewModel et le renverra. Donc ce que je suis en train de acheive est la suivante:Silverlight webclient downloadstringasync question
public static class FeedHelper
{
public static FeedViewModel LoadFeed(string url)
{
//parse rss feed and return view model
}
}
Dans la méthode loadfeed Je voudrais faire un objet webclient et construire la FeedViewModel. Cependant, parce que DownloadStringAsync du WebClient est asynchrone et que le résultat est retourné à une autre méthode, je n'arrive pas à comprendre comment je peux retourner le FeedViewModel de ma méthode LoadFeed.
Des exemples ou des liens vers des articles de blog seraient appréciés. J'ai fait un peu de googling, mais je ne trouve aucun exemple de la façon dont j'aborderais ce problème.
Je ne pense pas avoir correctement expliqué mon problème. Je comprends que le résultat revient à l'événement de rappel. Mon problème, comme avec le premier exemple que vous avez fourni est que l'interface utilisateur est couplée avec le code qui récupère les données de flux. Je veux que la classe qui retourne les données de flux soit indépendante de la façon dont je choisis de persister/afficher – JFoulkes