这是
ItemSchema.Flag
所有物
使用SyncFolderItems时,请执行以下操作以读取此类属性:
var property_set = new PropertySet(ItemSchema.Flag, ItemSchema.Id);
var result = service.SyncFolderItems(folder_id, property_set, new ItemId[] { }, 10,
SyncFolderItemsScope.NormalItems, sync_state);
foreach (var result_item in result)
{
var flag = result_item.Item.Flag;
}
这个
flag
变量的类型为
Flag
。请查看其FlagStatus成员,了解如何检测项目是否已标记。
由于这仅适用于Exchange 2013,因此以下是Exchange 2010的解决方案:
var flag_property = new ExtendedPropertyDefinition(0x1090 , MapiPropertyType.Integer);
var property_set = new PropertySet(flag_property, ItemSchema.Id);
var result = service.SyncFolderItems(WellKnownFolderName.Inbox, property_set, new ItemId[] { }, 10,
SyncFolderItemsScope.NormalItems, sync_state);
foreach (var result_item in result)
{
var flag = result_item.Item.ExtendedProperties.FirstOrDefault(x => x.PropertyDefinition == flag_property);
if (flag == null)
{
//Item is not flagged
}
else if((int)flag.Value == 1)
{
//Item is makred complete
}
else if ((int)flag.Value == 2)
{
//Item is flagged
}
}
这是基于
PidTagFlagStatus
所有物请注意,文档中指出,这将不适用于会议或任务项目。