C# VS 2010 编辑时报错,但编译运行成功
我有 CodeDom 生成的可选参数。例如:
class Square
{
public Square([Optional()] int side) { }
}
我有一个调用语句:
Square sq = new Square();
当我编辑时,我的错误列表窗口显示: 'Square' 不包含带有 0 个参数的构造函数'
但它编译并运行成功。如何消除“错误列表”窗口中的错误?谢谢!
I have optional parameters generated by CodeDom. For example:
class Square
{
public Square([Optional()] int side) { }
}
I have a call statement:
Square sq = new Square();
While I'm editing, my Error List window shows:
'Square' does not contain a constructor that takes 0 arguments'
But it compiles and runs successfully. How can I get rid of the error in 'Error List' window? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您看到的是 IDE 实时语义错误检查和实际运行的编译器之间的差异。实时语义检查使用 C# 编译器,但与它不具有 100% 的一致性,并且在该语言的极端情况下可能会产生误报。
要摆脱这种情况,请禁用实时语义检查
解决此问题的另一种方法是对可选值使用实际 C# 支持的语法
What you're seeing is the difference between IDE live semantic error checking and the actual compiler running. The live semantic checking uses the C# compiler but doesn't have 100% parity with it and it can produce false positives in corner cases of the language.
To get rid of this disable live semantic checking
Another way to fix this is to use the actual C# supported syntax for optional values