我有一个从 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;
}
问题是当异步调用正在进行时,控制返回时为空myList
。我该如何防止这种情况。我的最终目标是返回填充列表。
而且这个方法也在一个单独的类库项目中,并从 Windows Phone 应用程序中调用,我必须保持这样。有什么办法可以做到这一点,或者我错过了什么?任何帮助将不胜感激。