我正在用 C# 开发一个 Outlook 2010 自定义插件。这是我第一次使用 C#(我通常是 java 人)。
我想访问的消息中有一个命名的(自定义)MAPI 属性,但在这样做时遇到了麻烦。我的理解是,在 Outlook 2007 中引入了 PropertyAccessor 对象,它允许轻松访问命名的 MAPI 属性。我按照以下文档中的说明进行操作:
http://msdn.microsoft.com/en-us/library/ff868915.aspx
我可以使用 Outlook Spy 在邮件上看到我想要访问的命名 MAPI 属性。从 Outlook Spy 我可以获得有关该属性的以下信息:
GUID: {00020329-0000-0000-C000-000000000046}
Tag num: 0x80BE0102
ID: PR.AFU.MESSAGE.RETRIEVE.INFO
Type: PT_BINARY
所以我尝试了以下代码(对象邮件是 MailItem 的有效实例):
mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/id/{00020329-0000-0000-C000-000000000046}/80BE0102");
这会产生以下异常:
The property "http://schemas.microsoft.com/mapi/id/{00020329-0000-0000-C000-000000000046}/80BE0102" is unknown or cannot be found
所以我想知道如何真正获得这个属性?我是否错误地形成了命名空间引用?或者我是否需要使用本示例中概述的方法:
http://www.outlookcode.com/codedetail.aspx?id=1112
我的理解是,这仅对 2007 年之前的 Outlook 版本是必需的。任何帮助深表感谢!