COM+Visual Basic 8 (2005)COMWindows VistaWindows 2003Visual Studio 2005Windows 2000Windows XP.NET 2.0中级开发Visual StudioWindows.NETVisual Basic
适用于 .NET 的 Lotus Notes COM 类封装
这是一个 VB.NET 类封装,用于 Lotus Notes 接口。
引言
这是一个接口/类封装,旨在帮助 .NET 应用程序以**类型化**数据访问 Lotus Notes,而无需启用**后期绑定**选项。
背景
Lotus Notes 提供了 COM 接口,但正如任何尝试使用它们的人可能知道的那样,这些接口被设计为返回未类型化的对象,并需要后期绑定。从 VB.NET 的角度来看,这需要更改 Strict 选项以允许后期绑定,从而导致应用程序不再强制执行强类型数据。
此封装的开发是为了克服这个限制,实际上,UnmanagedWrapper
类可以用于任何以 Lotus Notes 相同方式实现的 COM 访问。
使用代码
代码实现起来非常简单。您需要安装 Lotus Notes 客户端。然后,将 LotusCW.vb 文件添加到您的 VB.NET 应用程序中。由于此封装包含了所有必要的信息,因此无需添加对 Lotus 类型库的引用。由于 Lotus 将所有内容都作为 Object
返回,因此每个类的构造函数都接受一个 Object
,然后对该 Object
进行**托管**调用。以下是一个示例,可以在 LotusSample
类中找到
'' Create a new Lotus Notes Session
Dim MySession As New Lotus_cw.NotesSession(CreateObject("Notes.NotesSession"))
'' Output the Sessions UserName.
Debug.Print("UserName: " & MySession.UserName)
关注点
除了 Lotus Notes 之外,UnmanagedWrapper
类还应为其他 COM 实现提供一种方法。我也想感谢 CodeSmith 工具,它被用于从 IDL 文件重构类,从而创建了这个封装类。
请注意,仅完成了初步测试,我对 Lotus Notes 的使用仅限于提取电子邮件消息。