在创建用于 Implements 语句的各种接口时,可以使用 Visual Basic 或能够创建类型库的其他工具,如 MkTypLib 实用工具或者 Microsoft Interface Definition Language (MIDL) 编译器。
Visual Basic 创建的大部分类所定义的接口都能够适用于 Implements。如果使用 Visual Basic 中定义类的方式来创建接口,那么只需要避免在属性和方法的名字中使用下划线就没有问题了。
在使用 Visual Basic 之外的工具创建接口时,必须遵循某些规定才能使之适用于 Implements。下面列出了大部分的限制条件。
VB 数据类型 | 等价的 MIDL 类型 |
Integer | short |
Long | long |
Single | float |
Double | double |
Byte | unsigned char |
Boolean | boolean 或 VARIANT_BOOL |
String | BSTR |
Variant | VARIANT |
Date | DATE |
Currency | CURRENCY 或 CY |
Object | IDispatch |
IUnknown | IUnknown |
注意 在创建类型库的时候指定 [oleautomation] 是有益的,这样将可以保证类型是正确的,但是,在通过 Visual Basic “引用...”对话框引用它之前,必须在没有属性的条件下构造它。
详细信息 请参阅《程序员指南》一书“对象编程”中的“多态性”,以及《部件工具指南》的《创建 ActiveX 部件》的“部件设计的一般规则”中的“通过实现接口提供多态性”。