Skip to content

Alias

为内部类型、用户自定义 TypeInterface 或另一个 Alias 声明替代名称。别名与原始类型可互换——它们之间赋值不会产生类型不匹配。类似于C/C++中的 typedef

INFO

Alias 语句是twinBASIC扩展。经典VBA中没有等价功能,VBA中 Alias 关键字的唯一用途是在 Declare 语句中命名DLL入口点。

语法:

[ Public | Private ] Alias aliasname As type

Public
可选 别名导出到ActiveX DLL或控件的类型库,因此其他项目的使用者可以看到 aliasname 本身。
Private
可选 别名仅在项目内可见。Private 别名的使用在编译时会被替换为底层 type,因此 aliasname 不会出现在项目的类型库中。
aliasname
别名的名称。必须是有效的twinBASIC标识符。
type
原始类型。可以是内部类型、用户自定义 TypeInterface 或另一个 Alias

Alias 语句仅在 .twin 源文件中有效(不支持传统 .bas.cls 文件),且必须出现在文件作用域——在 ModuleClass 块之外,与 InterfaceCoClass 声明并列。

示例

为内部类型和用户自定义类型创建别名:

vb
Public Type POINT
    x As Long
    y As Long
End Type

Public Alias POINTAPI As POINT

Public Alias CBoolean As Byte

Public Alias KAFFINITY As LongPtr

使用别名声明的变量与使用原始类型声明的变量可以互换:

vb
Dim p As POINT
Dim q As POINTAPI
p = q   ' OK — no type mismatch.

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有