我只是在重构一些遗留(因此是VB.NET)单元测试时抛出了编译错误,我只想将其中一个示例输入注释到MBUnit:
<RowTest> _
'<Row("Something")> _
<Row("SomethingElse")> _
Run Code Online (Sandbox Code Playgroud)
这给了:
Attribute specifier is not a complete statement. Use a line continuation to apply the
attribute to the following statement.
Run Code Online (Sandbox Code Playgroud)
它实际上是将空白/注释掉的行视为实际行吗?一般来说,当我抱怨VB.NET时,我先写道:"现在,我不想成为那个写语法的人,但是......"这似乎就是我不知道的那种情况之一回答,如果我是对的.但在这种情况下,我确实知道想知道答案.
是的,据我了解,问题是您的第一行延续将注释掉的行添加为第一行的一部分,然后注释掉的行上的行延续字符被忽略,因为它是注释的一部分,所以它最终是:
<RowTest> '<Row("Something")> _ <-- this line continuation character is ignored since it's commented out.
<Row("SomethingElse")> _
Run Code Online (Sandbox Code Playgroud)
支持这一点需要的是一种结束注释而不是换行符的方法,但因为它通常不是问题,而且我认为这会很大程度上影响编译速度等,因为它必须解析所有注释我想这不被认为是值得的。