首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展属性不符合EmailMessage

扩展属性不符合EmailMessage
EN

Stack Overflow用户
提问于 2019-03-31 22:56:03
回答 1查看 140关注 0票数 0

我正在运行代码,它希望添加一个带有值的扩展属性。似乎运行得很好。当我遍历MailItems时,我看不到任何扩展属性的证据。

要扩展的代码:

代码语言:javascript
复制
EmailMessage email2 = EmailMessage.Bind(service, result.Items[0].Id);
Guid MyPropertySetId = new Guid("{C11FF724-AA03-4555-9952- 
8FA248A11C3E}");
ExtendedPropertyDefinition extendedPropertyDefinition = new 
ExtendedPropertyDefinition(MyPropertySetId, "ServiceCat", 
MapiPropertyType.String);
email2.SetExtendedProperty(extendedPropertyDefinition, "Level2 big daddy");
email2.Update(ConflictResolutionMode.AlwaysOverwrite);

读取扩展属性的代码:

代码语言:javascript
复制
   foreach (Item item in result.Items)
        {
            Console.WriteLine(item.Subject);
            if (item.ExtendedProperties.Count > 0)
            {
                // Display the name and value of the extended property.
                foreach (ExtendedProperty extendedProperty in item.ExtendedProperties)
                {
                    Console.WriteLine(" Extended Property Name: " + extendedProperty.PropertyDefinition.Name);
                    Console.WriteLine(" Extended Property Value: " + extendedProperty.Value);
                }
            }
        }

我尝试重新连接以遍历电子邮件,以查看扩展属性是否存在,但数组长度仍然为0。也就是说,foreach永远不会起作用。

我假设extended preoprty保存在exchange "email2.Update(ConflictResolutionMode.AlwaysOverwrite)“中,并且应该能够回读

任何建议都很感谢。

EN

回答 1

Stack Overflow用户

发布于 2019-04-01 07:31:17

您需要使用属性集加载扩展属性,然后才能在消息上枚举它,例如

代码语言:javascript
复制
        PropertySet psPropSet = new PropertySet();
        psPropSet.Add(extendedPropertyDefinition );
        ItemView itemView = new ItemView(1000);
        itemView.PropertySet = psPropSet;

然后,如果设置了扩展属性,则只需使用TryGetProperty获取该属性

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55442182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档