C#VS 2010在编辑时报告错误,但它编译并成功运行

时间:2011-04-12 16:03:10

标签: c# visual-studio visual-studio-2010 optional-parameters

我有CodeDom生成的可选参数。例如:

class Square
{
    public Square([Optional()] int side) { }
}

我有一个电话声明:

Square sq = new Square();

在我编辑时,我的错误列表窗口显示:     'Square'不包含带0参数'

的构造函数

但它编译并成功运行。如何摆脱“错误列表”窗口中的错误?谢谢!

1 个答案:

答案 0 :(得分:5)

您所看到的是IDE实时语义错误检查与实际编译器运行之间的区别。实时语义检查使用C#编译器,但与它没有100%的奇偶校验,并且它可以在语言的极端情况下产生误报。

要摆脱这种禁用实时语义检查

  • 工具 - >选项
  • 文字编辑器 - > C# - >高级
  • 取消选中“显示实时语义错误”

解决此问题的另一种方法是使用实​​际C#支持的语法来表示可选值

public Square(int side = 0) { }