繁体   English   中英

Outlook COM Interop 方法事件名称冲突

[英]Outlook COM Interop method event name conflict

我正在使用 Outlook com 界面来自动创建电子邮件。 我正在尝试处理MailItem.Close事件,但问题是 MailItem 也有一个MailItem.Close()方法。 我希望编译器会推断出我指的是该事件,因为我试图将委托附加到它,但事实并非如此。

private void editButton_Click(object sender, RoutedEventArgs e)
{
    outlook.MailItem editItem;
    ...
    editItem.Close += delegate { editItem_onClose(editItem); };
    ...
}

实际错误是:
Error 4 Cannot assign to 'Close' because it is a 'method group'

警告是:
Warning 3 Ambiguity between method 'Microsoft.Office.Interop.Outlook._MailItem.Close(Microsoft.Office.Interop.Outlook.OlInspectorClose)' and non-method 'Microsoft.Office.Interop.Outlook.ItemEvents_10_Event.Close'. Using method group.

编辑:

我的Microsoft.Office.Interop.Outlook命名空间没有ItemEvents_10_Event接口。 我有outlook.ItemEvents_10_SinkHelperoutlook.ItemEvents_10我试图像这样投射到outlook.ItemEvents_10

var events = (outlook.ItemEvents_10)editItem;
events.Close += delegate { editItem_AfterWrite(editItem, editRow); };

但我仍然收到“events.Close 是一个方法组”错误。

您需要将邮件项目对象转换为提供事件或方法的正确接口或类。 ItemEvents_10_Event接口提供 Close 事件,MailItem 类提供 Close 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM