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