2

このコードでは、特定の表示名を持つ連絡先の拡張プロパティを取得します。

foreach(Contact c in contacts)
{
  // some code...
  view.PropertySet = new PropertySet(BasePropertySet.IdOnly, properties);
  filter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, c.DisplayName);
  items = service.FindItems(folderId, filter, view);
}

ではなく でフィルタリングしたいのですDisplayNameが、Contact.Idその方法が見つかりません。

4

2 に答える 2

0

以下Contact.Idのようなものを使用して検索するには...ItemSchema.Id

filter = new SearchFilter.IsEqualTo(ItemSchema.Id, c.Id);
于 2012-05-11T16:42:34.537 に答える
0

それが私が最終的に行ったことであり、より良い解決策は見つかりませんでした。同じ名前のすべての連絡先を取得し、それらを繰り返し処理して正しい連絡先を見つけます。

        foreach (Item item in items.Items)
        {
            foreach (var ext in item.ExtendedProperties)
            {
                // check if the extended property is from this contact
                if (c.Id.ChangeKey == item.Id.ChangeKey)
                {
                    extendedProperties.Add(ext);
                }
            }
        }
于 2012-05-16T18:23:30.823 に答える