Outlook PIA 中的方法和属性

本主题介绍如何通过使用 Outlook 主互操作程序集 (PIA) 来在在托管代码中访问对象的方法和属性。

帮助程序对象的由来

为了创建 Outlook PIA,Outlook 将使用 .NET Framework 中的类型库导入程序 (TLBIMP) 将 COM 类型库中的类型定义转换为公共语言运行库 (CLR) 程序集中的等效定义。 在 COM 中,对象实际上是包括以下各项的 coclass:

TLBIMP 导入每个对象的主接口和事件接口,并创建众多接口、委托和类,其中包括以下各项:

帮助程序对象的用途

继续以 FormRegion 对象为例,以下列表检查上述各个接口和类包含的内容。

  • _FormRegion 接口定义 FormRegion 的所有方法和属性。 除下面讨论的一个情况外,通常不在代码中使用此接口。

  • FormRegionEvents 接口定义映射到 FormRegion 的事件的方法。 请勿在代码中使用此接口。

  • TLBIMP 进一步处理 FormRegionEvents 接口,以创建 FormRegionEvents_Event 接口,该接口定义 FormRegion 的所有事件。 除下面讨论的一个情况外,通常不在代码中使用此接口。

  • FormRegionClass 类定义 FormRegion 的所有方法、属性和事件成员。 它是 FormRegion 接口在后台所关联的类,以便您可以编写代码来创建 FormRegion 接口的实例。 但是,不要直接在代码中使用此接口。

  • FormRegion 接口继承 _FormRegion 接口和 FormRegionEvents_Event 接口。 图 1 说明了此继承关系。

    图 1. FormRegion 接口继承 _FormRegion 接口的方法和属性,并继承 FormRegionEvents_Event 接口的事件

    FormRegion 接口继承 _FormRegion 接口的方法和属性,并继承 FormRegionEvents_Event 接口的事件

    通常,FormRegion 是在托管代码中用于访问对象和 FormRegion 对象的方法、属性及事件成员的一个接口。

Application 对象作为另一个示例,通过 Application 接口访问 Application 对象、方法、属性和事件。 但存在三种例外情况,在这些情况下,您必须使用不同的接口,或者需要根据相应语言,使用不同的接口:

  • 当您访问与事件共用同一名称的方法时,最好是转换为主接口来调用该方法。 例如,Application 对象具有 Quit 方法和 Quit 事件。 在 Visual Basic .NET 中,你可以通过 Application 接口访问 Quit 方法。 在 C# 中,可以通过将 Quit 方法强制转换为主接口来避免编译器警告,如以下代码示例所示:

        void DemoApp()
        {
            Outlook.Application myApp = new Outlook.Application();
            // Other application code here
            ((Outlook._Application)myApp).Quit();
        }
    
  • 当您访问与该对象的方法共用同一名称的事件时,必须转换为适当的事件接口才能连接到该事件。 与上述示例类似,若要连接到 Quit 事件,请转换为 ApplicationEvents_11_Event 接口。

  • 当您连接到随后在更高版本的 Outlook 中得到扩展的早期版本的事件时,必须连接到早期接口中该版本的事件。 例如,如果要连接到为 Outlook 2002 实现的 Application 对象的 Quit 事件版本,而不是最新版本,请连接到 ApplicationEvents_10_Event 接口中定义的 Quit 事件,而不是 ApplicationEvents_11_Event 接口中定义的 Quit 事件。

另请参阅