我正在看C#6 中的几个新功能,特别是 “使用静态”。
using static是一种新的using子句,可让您将类型的静态成员直接导入作用域。
(博客文章的底部)
根据我发现的一些教程,该想法如下所示,
而不是:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
Console
使用使用静态类的新C#6功能,可以省略重复的语句:
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
但是,这似乎不适用于我。我在using
声明中出现错误,说:
“
using namespace
伪指令只能应用于名称空间;伪指令Console
是类型,而不是命名空间。请考虑使用using static
伪指令”
我正在使用Visual Studio 2015,并且将构建语言版本设置为“ C#6.0”
是什么赋予了?msdn博客的示例不正确吗?为什么不起作用?
博客文章现已更新,以反映最新更新,但以下是截屏以防博客崩溃的屏幕截图:
System.Math
具体来说是Math.PI
。当我使用时using static System.Math
,方法像Sqrt()
工作,但不是常数PI
。我必须继续写,Math.PI
否则代码无法编译。我很好奇为什么这行不通。我应该为此提出一个新问题吗?