連絡先の生年月日を取得するための簡単なアプリを作成したいと考えています。下にいくつかのコードを実装しましたが、実際に何が起こっているのか分かりません。UWPの連絡先から誕生日を取得するには?
var contactPicker = new ContactPicker();
contactPicker.CommitButtonText = "Select";
contactPicker.SelectionMode = ContactSelectionMode.Fields;
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email);
var contacts = await contactPicker.PickContactsAsync();
if (contacts != null && contacts.Count > 0)
{
try
{
foreach (Contact contact in contacts)
{
var birthday = contact.ImportantDates.First(d => d.Kind ==
ContactDateKind.Birthday);
textBlock.Text = birthday.Day.ToString();
}
}
catch (Exception w)
{
textBlock.Text = w.ToString();
}
}
は、上記のコードでは、私が正常にメールと名前を取得しますが、「contacts.birthday」などの利用可能な方法がないので、私は誕生日を取得することはできませんありがとうございました。私はキャッチ
例外は次のとおりです。
'System.InvalidOperationException' in System.Linq.dll
System.InvalidOperationException: Sequence contains no matching element at
System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2
predicate) at ContactApiSample.MainPage.<button_Click>d__1.MoveNext()
エラーメッセージに何が問題なのですか。 msgstr "シーケンスには一致する要素がありません。"あなたは誕生日である最初の 'ContactDate'を尋ねますが、もしも誕生日がなければどうなりますか? –
いいえ、私は誕生日と1つの連絡先を作成しました。私は誕生日を得ていませんでしたが。しかし、幸いにも私は方法を見つけた。ちょうど@GraceFengによって提供される以下の答えを見て、BTWは返信をありがとう。 –
しかし、あなたは返されるべき重要な日付を求めなかった。あなたは 'contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.ImportantDate); ' –