1

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

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

mailItem.Recipients.Count

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

我怎样才能访问这些属性?

4

1 回答 1

1

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

((object)MailItem.Recipients).Count产生错误:

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

((Outlook.Recipients)MailItem.Recipients).Count生成以下错误建议您使用dynamic

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

这就是您访问 ComObjectsOutlook.Recipients属性的目的:

((dynamic)MailItem.Recipients).Count
于 2012-10-16T13:29:24.430 回答