【发布时间】:2011-10-29 10:27:29
【问题描述】:
我正在尝试编写一个获取联系人并将其转换为数据对象并返回的方法。我了解由于联系人搜索是异步的,因此调用方法也需要;但是,我想返回一个对象作为调用搜索的父方法的一部分,我不太确定最好的方法是什么。
我目前得到的伪代码是:
public Person GetRandomPerson(string s)
{
Person myPerson = new Person();
Person contacts = new Contacts();
contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
contacts.SearchAsync(String.Empty, FilterKind.None, "All Contacts");
return Person; //I'm not sure how this will ever work...
}
void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
//convert a Contact object to Person object here
}
我已经在这个地方做了一些阅读 (like this SO question),但我不太确定嵌套异步返回调用的外观,或者我如何从基于事件的异步联系中传递结果重新搜索父调用方法 - 我将如何实现这种效果?
【问题讨论】:
标签: c# asynchronous contacts windows-phone-7.1