Кажется, довольно четко указано здесь :
Соглашения об именах
.NET Framework использует схему именования с точечным синтаксисом, которая обозначает иерархию.Этот метод группирует связанные типы в пространства имен, чтобы их можно было легче искать и ссылаться на них.Первая часть полного имени - до крайней правой точки - это имя пространства имен.Последняя часть имени - это имя типа.Например, System.Collections.ArrayList
представляет тип ArrayList
, который принадлежит пространству имен System.Collections.Типы в System.Collections
могут использоваться для управления коллекциями объектов.
Эта схема именования позволяет разработчикам библиотек, расширяющим .NET Framework, создавать иерархические группы типов и называть их согласованным и информативным образом.,Это также позволяет однозначно идентифицировать типы по их полному имени (то есть по пространству имен и имени типа), что предотвращает конфликты имен типов.Ожидается, что разработчики библиотек будут использовать следующие рекомендации при создании имен для своих пространств имен:
CompanyName.TechnologyName
Например, пространство имен Microsoft.Word
соответствует этому руководству.
И «Рекомендации по разработке библиотек классов» содержат аналогичное правило:
Общий формат для имени пространства имен выглядит следующим образом:
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
ДляНапример, Microsoft.WindowsMobile.DirectX.
Делать префиксами имен пространств имен с именем компании, чтобы пространства имен разных компаний не имели одинаковые имена и префиксы.
Do использовать стабильное, независимое от версии имя продукта на втором уровне имени пространства имен.
Do не использовать организационные иерархии в качестве основы для имен в иерархиях пространства имен, посколькуимена групп внутри корпораций обычно бывают недолговечными.
Имя пространства имен - это долгоживущий и неизменный идентификатор.По мере развития организаций изменения не должны делать имя пространства имен устаревшим.
Do использует регистр Pascal и разделяет компоненты пространства имен с точками (например, Microsoft.Office.PowerPoint
).Если в вашем бренде используется нетрадиционный регистр, вы должны следовать описанию, указанному вашим брендом, даже если он отличается от обычного регистра пространства имен.
Рассмотрите , используя, где это целесообразно, множественные имена пространства имен.Например, используйте System.Collections
вместо System.Collection
.Однако торговые марки и сокращения являются исключениями из этого правила.Например, используйте System.IO
вместо System.IOs
.
Не не используйте одно и то же имя для пространства имен и тип в этом пространстве имен.Например, не используйте Debug
для имени пространства имен, а также предоставьте класс с именем Debug
в том же пространстве имен.Некоторые компиляторы требуют, чтобы такие типы были полностью квалифицированными.
И:
Основными пространствами имен являются пространства имен System. * (Исключая пространства имен приложения и инфраструктуры).System
и System.Text
являются примерами основных пространств имен.Вы должны приложить все усилия, чтобы избежать конфликтов имен с типами в основных пространствах имен.
Не не дают имена типов, которые могут конфликтовать с любым типом в основных пространствах имен.
Например, не используйте Directory
в качестве имени типа, поскольку это может конфликтовать с типом Directory
.
Но, конечно, вы можете сделатьэто если вы действительно хотите .