2012-03-20 38 views
0

有人可以給我一個如何在Windows 8 ASync編程中正確使用ContactPicker.PickSingleContactAsync()功能的例子,我試過下面的代碼,我似乎不是能夠檢索結果,更不用說繼續。 JavaScript的例子有點含糊,我不懂JavaScript代碼。我在C#是新的異步編程以及ContactPicker.PickSingleContactAsync Windows 8 C#usage

ContactPicker cp = new ContactPicker(); 
ContactInformation ci; 
Task<ContactInformation> task = cp.PickSingleContactAsync() as Task<ContactInformation>; 
await task; 

如何進行,得到的結果爲「詞」?另外,如何確保我只能從電話號碼中選擇聯繫人?

+0

只是這可能工作 IAsyncOperation 任務= cp.PickSingleContactAsync(); – 2012-03-20 10:53:42

回答

0

試試這個:

ContactPicker cp = new ContactPicker(); 
ContactInformation ci = await cp.PickSingleContactAsync(); 

你不能as -cast的WinRT異步方法將導致Task<T>,因爲他們(可能)不Task<T>。要麼await它們直接(如上述),或使用StartAsTask擴展方法:

ContactPicker cp = new ContactPicker(); 
Task<ContactInformation> ciTask = cp.PickSingleContactAsync().StartAsTask(); 
ContactInformation ci = await ciTask;