代码之家  ›  专栏  ›  技术社区  ›  Malfist

为什么存在Microsoft.Office.Interop.Outlook.Exception?

  •  2
  • Malfist  · 技术社区  · 14 年前

    为什么Microsoft的API团队在Microsoft.Office.Interop.Outlook中重新创建了一个异常类,该类将与系统命名空间的异常类冲突?

    这与与与办公套件交互的非托管性质有关吗?为什么要使用它而不是System.Exception?

    2 回复  |  直到 14 年前
        1
  •  2
  •   SLaks    14 年前

    这是在Outlook COM库的 Exception 类,表示定期约会的异常。

    Office PIA中的类型是相对应的本机COM库的薄包装纸,不遵循标准的.NET约定;这就是为什么C<4.0中的Office自动化如此烦人的原因。

    例如,集合类是复数形式的(例如, Columns 而不是 ColumnCollection ,许多属性都是参数化的(这是C<4不支持的),大多数方法参数是 ref object 和许多事件具有与方法相同的名称(例如, Document.Close 在Word中)。

    这个 VSTO Power Tools 使C中的办公自动化更加容易。

        2
  •  2
  •   Hans Olsson    14 年前

    根据文件 Outlook.Exception 它似乎是一个只读对象,不能由您创建,但只能由内部的Outlook代码抛出,所以我认为忽略它并使用Normal Exception 但要准备好处理 Outlook.Exception 如果您正在创建约会。

    因为它们在不同的名称空间中,所以这实际上不是问题。