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