Пространство имён
Ключевое слово namespace объявляет пространство
имён. Внутри фигурных скобок размещают классы,
структуры, интерфейсы и другие типы. Полное имя
типа складывается из имён вложенных пространств
и имени типа через точку. Чтобы не писать длинные
имена, в начале файла подключают пространства
директивой using.
Синтаксис
namespace ИмяПространства
{
// типы этого пространства
}
Пример
Давайте объявим класс внутри пространства
App и обратимся к нему по полному имени:
using System;
namespace App
{
class Worker
{
public void Run()
{
Console.WriteLine("abcde");
}
}
}
class Program
{
static void Main()
{
App.Worker worker = new App.Worker();
worker.Run();
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте вложим одно пространство в другое блоком со скобками:
using System;
namespace App
{
namespace Data
{
class Store
{
public string Get()
{
return "12345";
}
}
}
}
class Program
{
static void Main()
{
App.Data.Store store = new App.Data.Store();
Console.WriteLine(store.Get());
}
}
Результат выполнения кода:
"12345"
Пример
Тот же вложенный уровень можно записать одной строкой через точку:
using System;
namespace App.Data
{
class Store
{
public int Count()
{
return 5;
}
}
}
class Program
{
static void Main()
{
App.Data.Store store = new App.Data.Store();
Console.WriteLine(store.Count());
}
}
Результат выполнения кода:
5
Пример
В одном файле может быть несколько пространств имён - каждое со своим блоком:
using System;
namespace App.A
{
class Alpha
{
public string Tag()
{
return "a";
}
}
}
namespace App.B
{
class Beta
{
public string Tag()
{
return "b";
}
}
}
class Program
{
static void Main()
{
Console.WriteLine(new App.A.Alpha().Tag()
+ new App.B.Beta().Tag());
}
}
Результат выполнения кода:
"ab"
Смотрите также
-
пространство на файл,
которое задаёт область без блока скобок -
директива
using,
которая подключает пространство имён -
квалификатор global,
который указывает корень имён -
код без класса,
который пишут на уровне файла