Skip to main content
added 239 characters in body
Source Link
Cerbrus
  • 73.3k
  • 19
  • 138
  • 151

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:

blog

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?

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:

blog

Small clarification.
Source Link
Cerbrus
  • 73.3k
  • 19
  • 138
  • 151

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?

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;

class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } 
}

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?

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?

added 162 characters in body
Source Link
Cerbrus
  • 73.3k
  • 19
  • 138
  • 151

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;

class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } 
}

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?

I'm having a look at a couple of the new features in C# 6, specifically, "using static".

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;

class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } 
}

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?

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;

class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } 
}

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?

edited tags
Link
Cerbrus
  • 73.3k
  • 19
  • 138
  • 151
Loading
no reason to use [tag:] here, especially to an incorrect tag
Source Link
svick
  • 246.7k
  • 54
  • 407
  • 536
Loading
Source Link
Cerbrus
  • 73.3k
  • 19
  • 138
  • 151
Loading