Определение пространств имен в коде - PullRequest
0 голосов
/ 04 мая 2010

Есть ли способ определить только родительское пространство имен без необходимости определения всех дочерних элементов?

Ответы [ 2 ]

5 голосов
/ 04 мая 2010

Я предполагаю, что вы имеете в виду что-то вроде языка Java, который поддерживает:

imports Java.AWT.*

Насколько я знаю, * в приведенном выше утверждении является подстановочным знаком, поэтому вам не нужно определять каждый метод в пространстве имен.

В .net различные библиотеки сгруппированы по пространствам имен, и некоторые из них представляются подмножествами, но я не думаю, что они на самом деле представлены внутри иерархии.

Например, если вы хотите использовать класс StringBuilder, добавьте:

using System.Text;

но если вы хотите использовать регулярные выражения, вы также добавите

using System.Text.RegularExpressions;

Visual Studio довольно хорошо обнаруживает подобные вещи, если вы ввели имя класса, которое находится внутри одной из библиотек, таких как

Regex reg = new Regex();

затем, после того как вы наберете первый Regex, вы сможете щелкнуть по нему правой кнопкой мыши и выбрать меню «Разрешить», чтобы сделать его полностью квалифицированным, как

System.Text.RegularExpressions.Regex reg = new Regex();

или добавьте оператор использования вверху (как показано выше)

1 голос
/ 04 мая 2010

Боюсь, это невозможно. Когда вы включаете пространство имен, вы имеете доступ ТОЛЬКО к классам, принадлежащим этому пространству имен. Нет инструкции для включения в «каскадные» дочерние пространства имен в иерархии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...