2012-02-21 15 views
15

Właśnie dostałem na wadze kilka starszych VB6 (!) Kodu i wciąż widzę funkcje zadeklarowane za pomocą znaku ampersand na końcu nazwy, na przykład Private Declare Function ShellExecute& . . ..Znaczenie znaku ampersand w nazwie funkcji VB6?

Nie byłem w stanie znaleźć odpowiedzi na znaczenie tego, ani nie byłem w stanie wykryć żadnego wzorca w użyciu lub podpisu funkcji, które zostały tak nazwane.

Ktoś wie, czy te ciągłe znaki ampersand oznaczają cokolwiek dla kompilatora, a przynajmniej jeśli jest jakaś konwencja, której mi brakuje? Do tej pory piszę to jako dziwny programista, ale chciałbym się z całą pewnością dowiedzieć, czy kryje się za tym jakieś znaczenie.

Odpowiedz

20

Oznacza to, że funkcja zwraca wartość Long (czyli całkowitą 32-bitową).

Jest to odpowiednik

Declare Function ShellExecute(...) As Long 

Pełną listę przyrostków jest następujący:

Integer % 
Long & 
Single ! 
Double # 
Currency @ 
String $ 
12

Jak Philip Sheard powiedział, że jest to rodzaj identyfikatorem Przez długi. Są one nadal obecne w .NET, zobacz MSDN link i to VB6 article

Od drugiego artykułu:

Reguły tworzenia ważnego nazwę zmiennej VB są następujące:

(1) pierwszy znak musi być literą od A do Z (wielkie litery lub małe litery od ). Kolejnymi znakami mogą być litery, cyfry lub znak podkreślenia (_) (dozwolone są tylko spacje lub inne znaki).

(2) Ostatnia litera może być "znakiem deklaracji typu". Tylko niektórych typów zmiennych można z nich korzystać, jak pokazano poniżej:

Data Type Type Declaration Character 

String   $ 
Integer  % 
Long   & 
Single   ! 
Double   # 
Currency  @  

użycie deklaracji typu znaki w VB nie jest zalecana; nowoczesnym stylem jest użycie klauzuli "As" w deklaracji deklaracji danych.