ror*_*.ap 13 .net c# compiler-errors syntax-error visual-studio
Visual Studio看到的"语法错误"和"编译器错误"有什么区别?或者换句话说,为什么一些"编译时"错误用红色波浪线和一些蓝色波浪线加下划线?这是一个例子:

上面的红色下划线错误有以下描述:
方法'ValidateFilteredRecipient'没有重载需要6个参数
蓝色下划线错误有以下描述:
'ValidateBuild':不能在静态类中声明实例成员
我不清楚这两个错误的区别特征是什么.
我认为找到答案将是一块蛋糕:我只是谷歌它,第一个结果将是一个MSDN页面完全阐述这个主题; 然而,非常令人惊讶的是,事实并非如此.我开始试图谷歌的颜色(因为我还不知道红色意味着"语法错误",蓝色意味着"编译器错误"):
没有帮助.然后我尝试了这些搜索:
我可以看到这无处可去,所以我搜索了一下,找出了在VS中设置颜色的位置:工具>选项>环境>字体和颜色.顺便说一句,无法在这里搜索巨大的列表是非常烦人的,但我发现"语法错误"有红色波浪下划线,"编译器错误"有蓝色波浪下划线.

那是什么意思?回到Google:
没什么关系的.这是我从MSDN找到的最接近的:
此页面包含以下条目:
编译器错误 - 编辑器中的蓝色波形指示编译器错误.
和
语法错误 - 解析错误.
完全没有帮助 - 强调"完全".我一直以为我知道什么是"语法错误",至少,维基百科同意:
语法错误是用于以特定编程语言编写的字符序列或标记的语法中的错误.
此外,这是它的语法:
计算机语言的语法是一组规则,用于定义被认为是该语言中正确结构化的文档或片段的符号组合.
所以,从上面回到我的"语法错误":
方法'ValidateFilteredRecipient'没有重载需要6个参数
根据我在这里包含的定义,这是一个语法错误怎么样?实际上,在我看来,"编译器错误"我更加接近地满足了语法错误的定义:
'ValidateBuild':不能在静态类中声明实例成员
有人可以帮我解决这个问题吗?
语法错误和编译错误之间的主要区别在于 Visual Studio 何时检测到它。
在您编码时会检测到并突出显示语法错误。您不必构建代码来获取这些错误。
但是,编译错误很复杂,编辑器在编码时无法检测到。您必须通过编译器运行它(进行构建)来识别它们。因此,人们很可能最终会在不编译的情况下继续编码,并且在构建之前无法检测到它们。
基本上,语法错误是编译错误的子集。如果您使用记事本等文本编辑器编写代码,您将永远不会看到语法错误。当您通过编译器运行代码时,所有这些都将被记录为编译错误。
关于以不同方式突出显示它们,我认为这是一种视觉表示,可以让开发人员了解他在编写代码时可能会发现什么。
正如大家所提到的,最终,您需要修复这两个问题才能使代码运行。
对于任何编程语言以及与该语言一起使用的编辑器都是如此。
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |