連絡先を Windows Phone (8) 連絡先ストアに保存しようとしています。
私のコードは、非標準的なことは何もしません:
private async Task SaveContactToLocalStore(IMyLocalContact myLocalContact) {
var store = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite,
ContactStoreApplicationAccessMode.LimitedReadOnly);
var contact = new StoredContact(store);
var properties = await contact.GetPropertiesAsync();
if (!string.IsNullOrWiteSpace(myLocalContact.Nickname) {
properties.Add(KnownContactProperties.DisplayName, myLocalContact.Nickname);
}
/* Several such addition operations are executed, all identical, except for the values */
await contact.SaveAsync();
}
マークされた関数のどこかでasync
、保存関数を次のように呼び出します。
await SaveContactToLocalStore(myLocalCOntact);
次のエラーが表示されます: System.InvalidCastException
on contact.SaveAsync()
完全なエラー テキスト:
System.InvalidCastException: Specified cast is not valid.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
どこから調査を開始すればよいかわかりません。MSDN の例は問題なく動作します。