如何正确地为Outlook检查器实现包装器类



c#, VSTO, Outlook 2016

我找到了Connect类。但是当我尝试连接NewInspector事件时,我总是得到一个IDE1007错误。

public class Connect
{
private Outlook.Inspectors inspectors;
private List<OutlookInspector> inspectorWindows;
inspectors.NewInspector += new Outlook.InspectorsEvents_NewInspectorEventHandler(inspectors_NewInspector);
void inspectors_NewInspector(Outlook.Inspector Inspector) {
// Check to see if this is a new window you don't already track
OutlookInspector existingWindow = FindOutlookInspector(Inspector);
if ( existingWindow == null ) {
AddInspector(Inspector);
}
}

显然没有找到检查员。我遗漏了什么?

稍后在OutlookInspector中。

private OutlookInspector FindOutlookInspector(object window) {
foreach ( OutlookInspector inspector in inspectorWindows ) {
if ( inspector.Window == window ) {
return inspector;
}
}
return null;
}

当然-inspectors.NewInspector +=行在任何方法之外。我怀疑它一定在构造函数内部:

public Connect(Outlook.Inspectors Inspectors)
{
inspectors = Inspectors;
inspectorWindows = new List<OutlookInspector>();
inspectors.NewInspector += new Outlook.InspectorsEvents_NewInspectorEventHandler(inspectors_NewInspector);
}

您需要构造一个Connect类的实例,并将Application.Inspectors传递给它。

最新更新