Что означает конструкция using static?
Когда я изучал C# по книге Марка Прайса C# 9 и .NET 5, встретил такую фразу:
<...>
Добавьте оператор для статического импорта класса
System.Consoleв начало файлаProgram.cs:using static System.Console<...>
Я не понял что означает для статического импорта класса, и решил задать этот вопрос.
Разве нельзя написать так:
using System.Console
Объясните пожалуйста.
Надеюсь всё понятно, если нет, пишите в комментариях.
Ответы (1 шт):
Разве нельзя написать так:
using System.Console
Если бы вы попробовали написать это и скомпилировать, то сами бы поняли, что так "нельзя написать". Почему нельзя?
Потому что using используется для импорта пространств имен. Можно написать using System, т.к. System - это пространство имен. System.Console - это класс, его нельзя импортировать с помощью директивы using.
Я не понял что означает
для статического импорта класса
Статический импорт класса - это импорт статических членов класса (+ констант, начиная с C# 7.2). Т.е. написав
using static System.Console;
вы теперь можете использовать, например, статические методы WriteLine(), ReadLine() и др. без указания имени класса Console.
Пример:
using static System.Console;
WriteLine("Hello, world!");