Я не совсем уверен, чего вы хотите достичь.
Например,
namespace MyCompany.MyProduct.MyServices.MyColorService.Enums
{
public enum Color
{
Green,
Red
}
}
Теперь мы хотим использовать его:
using MyCompany.MyProduct.MyServices.MyColorService.Enums;
public class Foo
{
public void Bar()
{
var currentColor = Color.Green;
}
}
Сравните это с:
public class Foo
{
public void Bar()
{
var currentXx = xx.Green;
}
}
- В первом примере я сразу вижу, что это цвет.Зеленая.Также я сразу вижу, что это наш собственный цвет, а не тот, что
System.Drawing
. - Во втором примере, я только знаю, это какой-то
green
из xx
?Это зеленый солдат?Это благоприятно для окружающей среды?
Что бы вы ни пытались сделать, это ухудшает ситуацию.
Главное здесь - избегать using xx = MyNameSpace.MyLongEnumName;
в верхней части.cs файлы производных классов.
Не так работают пространства имен.Есть пространства имен, чтобы убедиться, что у вас нет конфликта имен с другими библиотеками.Они здесь, чтобы гарантировать, что вы работаете на типе, который вы действительно хотите.Вот почему ваш производный класс также имеет собственное пространство имен.
Или другими словами: То, чего вы хотите достичь, невозможно .Даже когда это будет возможно, это, вероятно, ухудшит ситуацию!
Tldr: Убедитесь, что вы организовали свой Кодекс.Создайте баланс между слишком многословными и слишком простыми именами.
Помимо этого, напишите Color
, установите курсор над ним и нажмите ctrl + . , затем введите .Вы заметите, Visual Studio автоматически импортирует для вас пространство имен, или предложит список, если имя неоднозначно. Также у нас есть такие инструменты, как Resharper , которые импортируют пространство имен при использовании intellisense;)