У меня есть приложение C++ в VS2005 и импортирую VB DLL. IntelliSense показывает мне все символы в DLL, как и ожидалось, но также показывает все (или почти все) снова с префиксом подчеркивания (хотя в них нет @s). Почему это? В чем разница между подчеркнутыми предметами и обычными предметами?





В (некоторых) стандартах кодирования C# префикс подчеркивания обозначает частную переменную, которая может объяснить это ... это VB или VB.Net?
Свойства символов? Если да, то это могут быть только частные переменные, поддерживающие свойства.
Все символы: структуры, переменные и т. д.
Предполагая, что вы говорите о VB6, ведущая версия подчеркивания _Klass является сгенерированным Vb интерфейсом по умолчанию для класса Klass. У этого сайта есть хорошее объяснение: http://www.15seconds.com/issue/040721.htm
Прочтите эту вики-статью о Name Mangling, чтобы получить более подробную информацию:
Старая школа VB, а не vb.net. Я не думаю, что это конвенция, поскольку они не выглядят так написанными в оригинальном VB.