Я смотрю на пару new features in C# 6, в частности, "Использование статического".Как использовать функцию C# 6 «Использование статического»?
используя статический новый вид использования пункт, который позволяет импортировать статические члены типов непосредственно в область видимости.
(Дно блога)
Идея заключается в следующем, в соответствии с парой учебников я нашел,
Вместо:
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' или код не компилируется. Мне любопытно, почему это не работает. Должен ли я задать новый вопрос? – skwear
@skwear: это звучит как материал для нового вопроса, да. – Cerbrus
В качестве быстрого ответа на вопрос @ skwear: _ «using static - это новый способ использования, который позволяет импортировать члены __static__ <...>». 'PI' не является _static_ членом класса' Math'. Это постоянный. Проще говоря: член должен быть объявлен как «статический». – Cerbrus