You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# VSTO如何正确实现Outlook Inspectors包装类 报错问题咨询

问题1:inspectors变量未找到报错

两个直接原因:

  • 仅声明了inspectors字段,没有做初始化赋值,VSTO场景下需要从Outlook应用实例获取Inspectors集合
  • 事件绑定代码不能直接写在类的成员定义区域,必须放在构造函数、初始化方法这类可执行代码块中

修正后的Connect类核心结构示例:

using Outlook = Microsoft.Office.Interop.Outlook;

public class Connect
{
    private Outlook.Inspectors inspectors;
    // 集合必须先初始化,避免后续操作报空引用
    private List<OutlookInspector> inspectorWindows = new List<OutlookInspector>();

    // 初始化逻辑放在构造函数中
    public Connect()
    {
        // 从VSTO全局应用对象获取Inspectors集合完成赋值
        inspectors = Globals.ThisAddIn.Application.Inspectors;
        inspectors.NewInspector += inspectors_NewInspector;
    }

    void inspectors_NewInspector(Outlook.Inspector Inspector) {
        OutlookInspector existingWindow = FindOutlookInspector(Inspector);
        if ( existingWindow == null ) {
            AddInspector(Inspector);
        }
    }

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

    private void AddInspector(Outlook.Inspector inspector)
    {
        inspectorWindows.Add(new OutlookInspector(inspector));
    }
}

问题2:Window变量未找到报错

原因是你自定义的OutlookInspector包装类没有定义公共的Window属性用于存储和暴露关联的Inspector实例,需要补充该类的属性定义:

using Outlook = Microsoft.Office.Interop.Outlook;

public class OutlookInspector
{
    // 定义公共Window属性用于对比匹配
    public Outlook.Inspector Window { get; private set; }

    public OutlookInspector(Outlook.Inspector inspector)
    {
        Window = inspector;
        // 此处可添加你需要跟踪的Inspector、邮件项级别的事件绑定逻辑
    }
}

额外注意事项

  • 你需要在ThisAddIn_Startup方法中初始化Connect类的实例,整个监听逻辑才会生效:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    var inspectorTracker = new Connect();
}
  • 确保项目已正确引用Microsoft.Office.Interop.Outlook程序集,代码顶部已添加对应的Outlook别名引用。

内容的提问来源于stack exchange,提问作者habalulu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:36:03