Могу ли я импортировать статический класс как пространство имен для вызова его методов без указания имени класса в C #? - PullRequest
12 голосов
/ 12 июня 2011

Я широко использую функции-члены одного конкретного статического класса.Указание имени класса каждый раз, когда я вызываю его методы, выглядит неприятно ...

Могу ли я импортировать статический класс как пространство имен для вызова его методов без указания имени класса C #?

Ответы [ 3 ]

17 голосов
/ 31 мая 2016

Функция, которую вы искали, была добавлена ​​в C # 6.0

Это называется "Использование статики".

Вот ссылка для дополнительных объяснений и примеров: https://msdn.microsoft.com/en-us/magazine/dn879355.aspx

12 голосов
/ 12 июня 2011

Если вы имеете в виду импортировать его так, чтобы его методы были глобальными, то нет.

Возможно, вы захотите взглянуть на методы расширения.Это статические методы, которые, когда импортируется пространство имен их класса, отображаются как методы экземпляра для типа их первого аргумента.Подробнее здесь: http://msdn.microsoft.com/en-us/library/bb383977.aspx

5 голосов
/ 18 июля 2018

Да, вы можете.В C # 6 введена новая конструкция - директива using static позволяет импортировать все статические члены типа, так что вы можете использовать эти члены без квалификации:

используя static ClassName;

, например:

using System;

using static System.Console;

class Program
{
    static void Main()
    {
        WriteLine("test");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...