Для удобной навигации по коду, а также для общего понимания, рассмотрим такое понятие как пространства имен.
Пространства имен — это способ группировки кода, который позволяет организовать логическую и удобную структуру проекта. Как правило типы, связанные общей идеей и схожей функциональностью, содержатся в общем пространстве.
Посмотрим на примере любого робота, доступного в платформе. В файле с кодом пространство задается при помощи ключевого слова namespace:
Рис. 1. Определение пространства имен.
Нужные пространства можно импортировать при помощи директивы using:
Рис. 2. Включение пространств имен.
Еще один способ использовать нужное пространство – задать его при объявлении переменной:
Рис. 3. Вариант использования пространства имен.
Бывают такие ситуации, когда в одном месте нужно использовать два разных типа с одинаковыми именами. Например, в коде коннектора, когда мы получаем с биржи сущности с именами, уже имеющимися в проекте. Для выхода из такой ситуации в коннекторе транзак используются псевдонимы:
Рис. 4. Псевдонимы.
Там, где задействуются объекты, полученные с биржи, используется полное имя типа с указанием пространства:
Рис. 5. Имя типа с пространством.
Для примитивов из OsEngine используются псевдонимы:
Рис. 6. Использование псевдонима.
В проекте OsEngine пространства имен соответствуют структуре папок. Это позволяет с легкостью понять, где находится определение типа. Если мы наведем указатель мыши на имя типа, студия выдаст нам подсказку что это класс, который находится в пространстве имен OsEngine.Entity:
Рис. 7. Поиск пространства для типа.
Переходим в обозреватель решения и видим, что файл с кодом класса Candle находится в папке OsEngine\Entity\
Рис. 8. Сопоставление пространства со структурой файлов.
Комментарии