Я рассматриваю несколько новых функций 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
Директива "A" может применяться только к пространствам имен; "Console
" - это тип, а не пространство имен.using static
Вместо этого рассмотрите директиву " " "
Я использую Visual Studio 2015, и у меня установлена версия языка сборки «C # 6.0».
Что дает? Пример блога msdn неверен? Почему это не работает?
Сообщение в блоге теперь обновлено, чтобы отразить последние обновления, но вот скриншот на случай, если блог выйдет из строя:
System.Math
, в частностиMath.PI
. Когда я используюusing static System.Math
, такие методыSqrt()
работают, но не постоянныеPI
. Мне нужно продолжить писать,Math.PI
иначе код не компилируется. Мне любопытно, почему это не работает. Следует ли мне задать для этого новый вопрос?