2009-03-13 2 views
0

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

два с верхней частью моей головы

1), имеющим префикс моих непосредственных запросов окна с?

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

есть способ, которым я могу заставить его вести себя как C#?

ответ

5

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

? 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

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

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