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);
}

我想过滤而不是过滤,DisplayNameContact.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 回答