I'm having a look at a couple of the new features in C# 6, specifically,
"using static".
using static is a new kind of using clause that lets you import static members of types directly into scope.
(Bottom of the blog post)
The idea is as follows, according to a couple of tutorials I found,
Instead of:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
You can omit the repeated Console
statement, using the new C# 6 feature of using static classes:
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
However, this doesn't appear to be working for me. I'm getting an error on the using
statement, saying:
"A 'using namespace
' directive can only be applied to namespaces; 'Console
' is a type not a namespace. Consider a 'using static
' directive instead"
I'm using visual studio 2015, and I have the build language version set to "C# 6.0"
What gives? Is the msdn blog's example incorrect? Why doesn't this work?
The blog post has now been updated to reflect the latest updates, but here's a screenshot in case the blog goes down:
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…