我刚收到一堆遗留的 VB6 (!) 代码,并且我不断看到在名称末尾使用 & 符号声明的函数,例如Private Declare Function ShellExecute& . . .
.
我一直无法找到对此意义的答案,也无法检测到任何使用中的模式或由此命名的函数的签名。
任何人都知道那些尾随的&符号对编译器是否意味着什么,或者至少是否有一些我遗漏的约定?到目前为止,我把它写成一个奇怪的程序员,但我想确定它背后是否有任何意义。
这意味着该函数返回一个 Long(即 32 位整数)值。
它相当于
Declare Function ShellExecute(...) As Long
后缀的完整列表如下:
Integer %
Long &
Single !
Double #
Currency @
String $
正如 Philip Sheard 所说,它是 Long 的标识符类型。它们仍然存在于 .Net 中,请参阅此MSDN 链接和此VB6 文章
从第二篇文章:
形成有效的 VB 变量名的规则如下:
(1) 第一个字符必须是字母 A 到 Z(可以使用大写或小写字母)。后续字符可以是字母、数字或下划线 (_) 字符(不允许使用空格或其他字符)。
(2) 最后的字符可以是“类型声明字符”。只有部分变量类型可以使用它们,如下图:
Data Type Type Declaration Character
String $
Integer %
Long &
Single !
Double #
Currency @
不鼓励在 VB 中使用类型声明字符;现代风格是在数据声明语句中使用“As”子句。