URLからHTMLを取得し、それを解析してエンティティを抽出し、エンティティのリストを返すメソッドを持っています。サンプルコードは次のとおりです。
public List<Entity> FetchEntities()
{
List<Entity> myList = new List<Entity>();
string url = "<myUrl>";
string response = String.Empty;
client = new WebClient();
client.DownloadStringCompleted += (sender, e) =>
{
response = e.Result;
// parse response
// extract content and generate entities
// <---- I am currently filling list here
};
client.DownloadStringAsync(new Uri(url));
return myList;
}
問題は、非同期呼び出しの進行中に制御が empty で返されることですmyList
。どうすればこれを防ぐことができますか。私の最終的な目標は、満たされたリストを返すことです。
また、このメソッドは別のクラス ライブラリ プロジェクトにあり、Windows Phone アプリケーションから呼び出されているため、そのようにしておく必要があります。これを行う方法はありますか、それとも何か不足していますか? どんな助けでも大歓迎です。