访问Microsoft.Office.Interop.Outlook.MailItem的属性

时间:2012-10-15 17:16:42

标签: c# outlook vsto office-interop outlook-addin

我正在处理Outlook添加应用程序,我无法正确访问MailItem对象的属性。 例如,如果我在“收件人”框中键入电子邮件地址,则以下代码不会在调试器中返回任何值:

当我尝试在即时窗口中检查收件人计数属性时,出现以下错误:

mailItem.Recipients.Count
  

'System.Linq.ParallelEnumerable.Count(System.Linq.ParallelQuery,System.Func)'是'方法',在给定的上下文中无效

如何才能访问这些属性?

1 个答案:

答案 0 :(得分:1)

命令窗口即时窗口Recipients集合视为object,而不是特定的Outlook嵌入式类型( { {1}} 的)。解决此问题的唯一方法是在访问其成员之前创建类型Outlook.Recipients

dynamic生成错误:

  

`System.Linq.ParallelEnumerable.Count(System.Linq.ParallelQuery,System.Func)'是一个'方法',在给定的上下文中无效)。

((object)MailItem.Recipients).Count会产生以下错误,建议您使用dynamic

  

嵌入式互操作类型'Microsoft.Office.Interop.Outlook.Recipients'在“MyOutlookAddIn.dll”和“Outlook.dll”中定义。调试时不支持对此类对象的某些操作。在调试或构建时将“嵌入互操作类型”属性设置为false,请考虑将此对象强制转换为“动态”。

这是您访问ComObjects ((Outlook.Recipients)MailItem.Recipients).Count属性后的内容:

Outlook.Recipients