7

我打错了,Visual Studio 没有将其标记为错误:

void Method(Nullable<SpriteFont>? font = null) { }

font显示为SpriteFont??输出。我刚刚做了什么?

UPD:对不起,大家,我没有尝试共同编译它,只是在我这样做之前它没有显示为错误。Type??尽管如此,它在输出中看起来还是很奇怪。

此外SpriteFont已经可以为空,所以无论如何我都会得到一个错误:(

4

2 回答 2

4

我已经在这里尝试过,刚才......我无法重现你所说的。

以下所有语句都无法编译:

  • Nullable<int>? a = 1;
  • Nullable<Nullable<int>> b = 1;
  • Nullable<int?> a = 1;
  • void A(Nullable<Nullable<int>> a)
  • void A(Nullable<int>? a)
  • void A(Nullable<int?> a)

我认为使用 Visual Studio 2012、C# 4 或 5,.Net framework 4.5。

于 2012-10-23T02:44:40.983 回答
4

编辑器的语法检查器未能将其标记为带有红色曲线的错误。不是编译器。

两个不同的代码块。它们必须是,在您输入代码时语法检查代码,本质上总是被破坏,需要一种非常不同的方法。

于 2012-10-23T03:02:29.807 回答