C# 按联系人id筛选扩展属性
使用此代码,我可以获得具有特定显示名称的联系人的扩展属性:C# 按联系人id筛选扩展属性,c#,exchangewebservices,extended-properties,C#,Exchangewebservices,Extended Properties,使用此代码,我可以获得具有特定显示名称的联系人的扩展属性: foreach(触点中的触点c) { //一些代码。。。 view.PropertySet=newpropertyset(BasePropertySet.IdOnly,properties); filter=newsearchfilter.IsEqualTo(FolderSchema.DisplayName,c.DisplayName); items=service.FindItems(folderId、过滤器、视图); } 我不想通
foreach(触点中的触点c)
{
//一些代码。。。
view.PropertySet=newpropertyset(BasePropertySet.IdOnly,properties);
filter=newsearchfilter.IsEqualTo(FolderSchema.DisplayName,c.DisplayName);
items=service.FindItems(folderId、过滤器、视图);
}
我不想通过DisplayName
进行过滤,而是通过Contact.Id
进行过滤,但我找不到这样做的方法。使用下面给出的类似方法进行搜索
filter=newsearchfilter.IsEqualTo(ItemSchema.Id,c.Id);
使用下面给出的方法进行搜索
filter=newsearchfilter.IsEqualTo(ItemSchema.Id,c.Id);
这就是我最后所做的,我没有找到更好的解决方案。
我得到了所有同名联系人,并对其进行迭代以找到正确的联系人
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);
}
}
}
这就是我最后所做的,我没有找到更好的解决办法。 我得到了所有同名联系人,并对其进行迭代以找到正确的联系人
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);
}
}
}
我尝试了,但它抛出了一个ArgumentException,消息为“Validation failed.Parameter name:searchFilter”,我尝试了,但它抛出了一个ArgumentException,消息为“Validation failed.Parameter name:searchFilter”