使用此代码,我获得具有特定显示名称的联系人的扩展属性:
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
,但我找不到办法。
答案 0 :(得分:0)
要按Contact.Id
进行搜索,请使用下面给出的ItemSchema.Id
...
filter = new SearchFilter.IsEqualTo(ItemSchema.Id, c.Id);
答案 1 :(得分: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);
}
}
}