【发布时间】:2011-01-12 21:16:36
【问题描述】:
只是一个有趣的问题:有人知道为什么 VB .NET 中没有块注释功能吗? (除非真的有——但我还没有遇到过。)
【问题讨论】:
-
进一步阻止人们使用 Visual Basic? :-p
-
我选择多行并点击IDE中的注释/取消注释按钮,所以对我来说没关系:)
标签: vb.net comments block-comments
只是一个有趣的问题:有人知道为什么 VB .NET 中没有块注释功能吗? (除非真的有——但我还没有遇到过。)
【问题讨论】:
标签: vb.net comments block-comments
这里完全滥用编译器指令...但是:
#If False Then
Comments
go
here
#End If
您没有获得正确代码着色的好处(使用默认配色方案时它不会显示为绿色),并且隐式行继续系统会自动缩进从第二行开始的段落中的行。但是编译器会忽略文本。
【讨论】:
根据要忽略的行数,可以使用编译器指令。它在技术上可能不等同于 cmets(例如,您不会获得 cmets 的语法着色),但它可以在不单独注释多行的情况下完成工作。因此,您只需再添加 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
这是假设目的是忽略代码块而不是添加文档(“cmets”实际用于什么,但我也不介意为此使用编译器指令)。
然而,当只有大约 10 行要注释时,这种方法很不方便。
【讨论】:
这是 Visual Basic 语法的副作用,换行符会终止语句。这使得多行注释与编译器解析语言的基本方式非常不兼容。在花括号语言中不是问题,换行符只是空格。
这从来都不是真正的问题,Visual Basic 长期以来一直拥有强大的 IDE 支持。注释掉多行是 IDE 功能,编辑 + 高级 + 注释选择。
【讨论】:
正如可以在“Comments in Code“ 中看到的那样,没有其他方法:
如果您的注释需要多行,请在每一行使用注释符号,如下例所示。
' 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 statement 上的帮助指出:
注意:
您不能使用续行序列 (_) 继续REM语句。一旦注释开始,编译器就不会检查字符的特殊含义。对于多行注释,请在每一行使用另一个REM语句或注释符号 (')。
【讨论】: