I have a C++ app in VS2005 and import a VB DLL. IntelliSense shows me all the symbols in the DLL as expected but it also shows all (or nearly all) of them again with an underscore prefix (no @s in them though). Why is this? What are the differences between the underscored items and the normal items?

Was it helpful?


Assuming you're talking VB6, the leading underscore version _Klass is the Vb-generated default interface for the class Klass. This site has a nice explanation:


In (some) c# coding standards the underscore prefix denotes a private variable, that might explain it... is it VB or VB.Net?

Check out this wiki article on Name Mangling for an indepth look:

Are the symbols properties? If so, these might just be the private variables backing the properties.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow