Отладка VB.NET как C # - PullRequest
0 голосов
/ 13 марта 2009

Я программировал на C # для большей части моей карьеры .NET - сейчас я работаю над проектом VB.net - когда отладка приводит меня в бешенство от разницы, как работает отладка.

два от макушки моей головы

1) перед моими непосредственными запросами окна добавляется?

2) не имея возможности навести курсор мыши на GUID, мне нужно? MyGuid.ToString (), чтобы увидеть значение

есть ли способ заставить его вести себя как C #?

Ответы [ 2 ]

5 голосов
/ 13 марта 2009

1 поддерживается как VB, так и C #. Когда вы ставите перед непосредственным запросом окна знак?, Вы говорите: «Пожалуйста, оцените выражение». В отсутствие a? Все, что вы напечатаете, будет оцениваться как утверждение. Это имеет большое значение в следующих двух строках

? a = b
a = b

Первый - операция сравнения, а второй - назначение.

Что касается второго выпуска. Да, это неудачный опыт для текущей версии VS. Следующая версия VS исправляет эту проблему (и несколько других в области отладки).

Существует способ обойти VS2008 (и, скорее всего, VS2005), который позволит вам обойти проблему. Вы можете добавить пользовательский DebuggerDisplay для GUID, который вызывает .ToString для объекта. Я недавно написал сообщение в блоге о том, как этого добиться

http://blogs.msdn.com/jaredpar/archive/2007/09/28/customzing-displays-in-the-debugger-for-system-types.aspx

1 голос
/ 14 марта 2009

? это пережиток от оригинального базового языка, где? был ярлык для оператора PRINT. Я предполагаю, что ПЕЧАТЬ значения переменной похоже на запрос результатов (или задание вопроса), следовательно, вопросительный знак.

Я надеялся, что в нескольких версиях Visual Basic устаревшие ключевые слова, такие как?, PRINT и REM, бесшумно исчезнут, но они еще не ... пока.

...