Простори імен - це спосіб згрупувати пов'язаний код і уникнути конфліктів імен; вони трапляються майже в кожній кодовій базі, крім найтривіальніших.
Синтаксис такий:
namespace MyNameSpace
{
public class MyClass {}
public class OtherClass {}
}
Щоб звернутися до типу, вміщеного в простір імен, поза межами цього простору імен, перед назвою типу ставлять крапку (точковий синтаксис). Або, що трапляється частіше, можна додати директиву using на початку файлу (чи всередині простору імен), і тоді тип використовують без префікса. У межах одного простору імен уточнювати назви типів не потрібно.
namespace MySpace
{
public class MyClass {}
public class Foo
{
public void Bar()
{
var baz = new MyClass();
}
}
}
public class Qux
{
public void Box()
{
var nux = new MySpace.MyClass();
}
}
namespace OtherSpace
{
using MySpace;
public class Tix
{
public void Jeg()
{
var lor = new MyClass();
}
}
}
Можна задати псевдонім простору імен у такий спосіб: using MyAlias = MySpace;, а потім використовувати цей псевдонім усюди, де можна було б використати сам простір імен.
Керівництво починає застосовувати дарвінівські принципи до проєкту «Радіокерована машина» remote-control-competition. Розробників поділили на дві команди, Red і Blue, і доручили їм незалежно одна від одної вдосконалювати дизайн. Їм не потрібно перейматися рішеннями щодо дизайну іншої команди.
Нас попросили поглянути на код і зʼясувати, як найкраще поєднати зусилля обох команд для тестування.
Будь ласка, використайте namespaces, щоб точніше виразити намір коду.
Наразі важливі типи, як-от Motor і Telemetry, не кажучи вже про сам RemoteControlCar, вкладені в зовнішній статичний клас <Color>RemoteControlCarTeam. Єдина мета зовнішнього класу - дозволити типам з однаковими назвами співіснувати в програмі. Це краще виражається за допомогою namespace. У наступній вправі ми побачимо, що для цих цілей namespace має переваги над static class.
Хоча керівництво наполягає, що у визначеннях команди мають називатися RedRemoteControlCarTeam і BlueRemoteControlCarTeam, ці назви досить громіздкі, коли ми посилаємося на команди. Знайдіть спосіб використовувати коротші ідентифікатори Red і Blue, будуючи машини.
Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.