我有CodeDom生成的可选参数。例如:
class Square
{
public Square([Optional()] int side) { }
}
我有一个电话声明:
Square sq = new Square();
在我编辑时,我的错误列表窗口显示: 'Square'不包含带0参数'
的构造函数但它编译并成功运行。如何摆脱“错误列表”窗口中的错误?谢谢!
答案 0 :(得分:5)
您所看到的是IDE实时语义错误检查与实际编译器运行之间的区别。实时语义检查使用C#编译器,但与它没有100%的奇偶校验,并且它可以在语言的极端情况下产生误报。
要摆脱这种禁用实时语义检查
解决此问题的另一种方法是使用实际C#支持的语法来表示可选值
public Square(int side = 0) { }