我正在处理Outlook添加应用程序,我无法正确访问MailItem
对象的属性。
例如,如果我在“收件人”框中键入电子邮件地址,则以下代码不会在调试器中返回任何值:
当我尝试在即时窗口中检查收件人计数属性时,出现以下错误:
mailItem.Recipients.Count
'System.Linq.ParallelEnumerable.Count(System.Linq.ParallelQuery,System.Func)'是'方法',在给定的上下文中无效
如何才能访问这些属性?
答案 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,请考虑将此对象强制转换为“动态”。
((Outlook.Recipients)MailItem.Recipients).Count
属性后的内容:Outlook.Recipients