Подтвердить что ты не робот

Отсутствие комментариев блока в VB.NET?

Просто интересующий вопрос: Кто-нибудь знает, почему в VB.NET нет возможности комментировать комментарии? (Если это действительно так, но я никогда не сталкивался с этим.)

4b9b3361

Ответ 1

Это побочный эффект синтаксиса Visual Basic, новая строка завершает оператор. Это делает многострочный комментарий довольно несовместимым с тем, как компилятор анализирует язык. Не проблема в фигурных скобках, новые строки - это просто пробелы.

Это никогда не было настоящей проблемой, у Visual Basic была сильная поддержка IDE в течение очень долгого времени. Комментирование нескольких строк - это IDE-функция, Edit + Advanced + Comment Selection.

Ответ 2

Абсолютно злоупотреблять директивами компилятора здесь... но:

#If False Then
Comments
go
here
#End If

Вы не получаете преимущества правильной окраски кода (он не отображается зеленым цветом при использовании цветовой схемы по умолчанию), и система неявного продолжения строк автоматически отступает от строк в абзаце, начиная со второй строки. Но компилятор проигнорирует текст.

Ответ 3

Как можно читать в "Комментарии в коде" нет другого способа:

Если ваш комментарий требует более одной строки, используйте символ комментария в каждой строке, как показано в следующем примере.

' This comment is too long to fit on a single line, so we break 
' it into two lines. Some comments might need three or more lines.

Аналогично, помощь в REM-заявлении гласит:

Примечание:
Вы не можете продолжить оператор REM, используя последовательность продолжения строки (_). Как только начинается комментарий, компилятор не проверяет символы для особого значения. Для комментария с несколькими строками используйте другую инструкцию REM или символ комментария (') в каждой строке.

Ответ 4

В зависимости от того, сколько строк следует игнорировать, вместо этого можно использовать директивы компилятора. Это не может быть технически эквивалентно комментариям (например, вы не получаете синтаксическую раскраску комментариев), но он выполняет свою работу без комментирования многих строк по отдельности. Таким образом, вы просто добавляете еще 3 строки кода.

#Const COMMENT = "C"
'basically a false statement
#If COMMENT = "Y"  Then
   'code to be commented goes between #If and #End If
   MsgBox('Commenting failed!')
#End If

Предполагается, что цель состоит в том, чтобы игнорировать блоки кода вместо добавления документации (какие "комментарии" фактически используются, но я также не против использовать для этого директивы компилятора).

Однако требуемое усилие делает этот метод неудобным, если для комментариев есть всего около 10 строк.

Ссылка: http://msdn.microsoft.com/en-us/library/tx6yas69.aspx