Директива using (Справочник по C#)

Обновлен: Ноябрь 2007

Директива using используется в двух случаях:

  • разрешает использование типов в пространстве имен, поэтому уточнение использования типа в этом пространстве имен не требуется;

    using System.Text;
    
  • позволяет создавать псевдонимы пространства имен или типа. Это называется директива using alias.

    using Project = PC.MyCompany.Project;
    

Ключевое слово using также используется для создания операторов using, которые обеспечивают правильную обработку объектов IDisposable, например файлов и шрифтов. Дополнительные сведения см. в разделе Оператор using.

Заметки

Область директивы using ограничивается файлом, в котором она появляется.

Создание псевдонима using упрощает определение идентификатора для пространства имен или типа. Правая часть директивы using alias должна всегда быть полным именем, независимо от предшествовавших ей директив using.

Создание директивы using позволяет использовать типы из пространства имен без указания этого пространства. Директива using не предоставляет доступ к пространствам имен, которые вложены в указанное пространство.

Существует две категории пространства имен: определенные пользователем и определенные системой. Пространства, определенные пользователем, — это те, которые определены в коде. Список пространств имен, определенных системой см. в документе Справочник по библиотеке классов .NET Framework.

Примеры методов связывания в других сборках см в разделе Создание и использование библиотек DLL C#.

Пример 1

Описание

В следующем примере кода показано определение и использование псевдонима using для пространства имен.

Код

namespace PC
{
    // Define an alias for the nested namespace.
    using Project = PC.MyCompany.Project;
    class A
    {
        void M()
        {
            // Use the alias
            Project.MyClass mc = new Project.MyClass();
        }
    }
    namespace MyCompany
    {
        namespace Project
        {
            public class MyClass { }
        }
    }
}

Комментарии

Директива using alias не может иметь открытый универсальный тип с правой части. Например, невозможно создать using alias для List<T>, но можно создать для List<int>.

Пример 2

Описание

В следующем примере показано определение директивы using и псевдонима using для класса.

Код

using System;   
// Using alias for a class.
using AliasToMyClass = NameSpace1.MyClass;   

namespace NameSpace1 
{
    public class MyClass 
    {
        public override string ToString() 
        {
            return "You are in NameSpace1.MyClass";
        }
    }
}

namespace NameSpace2 
{
    class MyClass 
    {
    }
}

namespace NameSpace3 
{
    // Using directive:
    using NameSpace1;
    // Using directive:
    using NameSpace2;   

    class MainClass
    {
        static void Main() 
        {
            AliasToMyClass somevar = new AliasToMyClass();
            Console.WriteLine(somevar);
        }
    }
}
// Output: You are in NameSpace1.MyClass

Спецификация языка C#

Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:

  • 9.3 Директивы using

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Ключевые слова C#

Ключевые слова, используемые для пространств имен (справочник по C#)

Пространства имен (Руководство по программированию в C#)

Оператор using (Справочник по C#)

Другие ресурсы

Справочник по C#