Ответ 1
Нет, ничего не работает по дереву. Однако вам не нужно включать в себя директивы для подъема дерева. Другими словами, если вы используете:
namespace Root.Orders
{
// Code
}
то все типы в Root
уже видны.
Есть ли способ использовать пространство имен и затем автоматически использовать все подпространства имен?
Пример:
namespace Root.Account
{
//code goes here
}
namespace Root.Orders
{
//code goes here
}
//New File:
using Root;
Для того, чтобы я использовал код в Root.Account, мне нужно было бы добавить Root.Account в мой код.
Я хотел бы просто сказать, используя Root, и забрать его для всех классов пространства имен.
Если это имеет смысл, возможно ли это?
Спасибо
Нет, ничего не работает по дереву. Однако вам не нужно включать в себя директивы для подъема дерева. Другими словами, если вы используете:
namespace Root.Orders
{
// Code
}
то все типы в Root
уже видны.
Нет, using
директива в С# не позволяет это:
Создайте директиву использования, чтобы использовать типы в пространстве имен без указания пространства имен. Директива using не дает вам доступа к любым пространствам имен, которые вложены в указанное пространство имен.
VB.NET, однако поддерживает несколько более близкое поведение с инструкцией Imports
:
Объем элементов, предоставляемых оператором Imports, зависит от того, насколько вы конкретно используете оператор Imports. Например, если указано только пространство имен, все уникальные имена этого пространства имен и члены модулей в этом пространстве имен доступны без квалификации. Если указаны как пространство имен, так и имя элемента этого пространства имен, доступны только члены этого элемента без квалификации.
То есть, если вы скажете
Imports Root
тогда вы сможете просто сказать Orders.Whatever
.
Нет, не совсем. =)
Из того, как вы изложили исходный вопрос, похоже, что вы можете или не можете понять, что просто используйте:
using Root;
Позже вы уточните свой код:
Account.Class obj = new Account.Class();
Orders.Class obj = new Orders.Class();
Вам не нужно использовать Root.Account для доступа к коду, а также с Root.Orders. Кроме этого, нет возможности автоматически рекурсивно использовать пространства имен. Я думаю, что это приведет к злоупотреблениям с использованием System;
.NET/С# не поддерживает эту форму пространства имен, используя.
пространство имен как контейнер объектов. Они могут содержать объединение, структуру, классы, делегат и интерфейс. Основное значение пространства имен в Asp.net С# - для создания иерархической организации программы.
узнать больше о блоге... http://asp-net-by-parijat.blogspot.in/2015/08/what-is-namespace-in-c-need-of.html