Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
20 / 19 / 1
Регистрация: 13.08.2012
Сообщений: 779
.NET 4.x

Организация пространств имен

06.04.2015, 20:14. Показов 776. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня в проекте множество уровней простраства имен, например:
C#
1
2
namespace ViewModels.Model.ProductItem.Product
class Product {}
Есть параллельные уровни типа:
C#
1
2
namespace ViewModels.Model.ProductItem.Products
class Products {}
Как мне сделать ссылку в пространстве имен ViewModels.Model.ProductItem.Product на ViewModels.Model.ProductItem.Products ? А то приходится везде писать для доступа к классу Products так:
C#
1
Products.Products
где первое слово Products обозначает пространство имен ViewModels.Model.ProductItem.Products а второе уже сам класс.

Добавлено через 2 минуты
если явно прописать :
C#
1
using ViewModels.Model.ProductItem.Products;
не помогает, говорит "ожидается имя типа, но имя пространства имен найдено"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2015, 20:14
Ответы с готовыми решениями:

Подключение пространств имен
Почему при подключении пространства имен из другой библиотеки мне все равно приходится обращаться к методу/полю полным именем...

Объявление пространств имен в c#?
Всем привет. Почему в данном примере: using NamespaceA.NamespaceB.NamespaceC; namespace NamespaceA { namespace NamespaceB ...

Подключение компонентов с пространств имен
Здраствуйте, combrads. Обьясните почему я не могу использовать класс ConfigurationManager, или как мне его использовать. Дело в том, что...

4
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
06.04.2015, 20:25
NEvOl, Не нужно делать имя класса, совпадающее с именем неймспейса. Это потенциальный источник головной боли.
2
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
06.04.2015, 20:26
Цитата Сообщение от NEvOl Посмотреть сообщение
Как мне сделать ссылку в пространстве имен
Если вас устраивают такие имена (меня бы не устроили), то используйте alias.
1
20 / 19 / 1
Регистрация: 13.08.2012
Сообщений: 779
06.04.2015, 20:42  [ТС]
что-то я совсем запутался с пространствами имен, как ими управлять ? удалил из
C#
1
namespace ViewModels.Model.ProductItem.Products
слово Products, теперь стало
C#
1
namespace ViewModels.Model.ProductItem
, стал ругаться что класс Products объявлен и в
C#
1
namespace ViewModels.Model.ProductItem.Products
и в
C#
1
namespace ViewModels.Model.ProductItem
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.04.2015, 20:54
NEvOl, Переименуйте класс Products в ProductCollection, ну и как правильно сказали, не надо называть класс и папку одинаково.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2015, 20:54
Помогаю со студенческими работами здесь

Преобразоване классов из разных пространств имен
Добрый день! У меня существует два полностью одинаковых класса, но они находятся в разны простарнствах имён: namespace1.classA; ...

Имя типа или пространства имен отсутствует в пространстве имен
Подскажите решение проблемы. Целиком код:

Имя типа или пространства имен "ProtectedData" отсутствует в пространстве имен System.Security.Cryptography
Такая проблема, пытаюсь собрать проект , но дает ошибки : по идее, они должны идти в комплекте ... поискал в гугле, он он кидает...

Тип или имя пространства имен 'Windows' не существует в пространстве имен "Microsoft"
Здравствуйте! Такая проблема, не могу понять, почему проект не может обнаружить ссылку на сборку. Ошибка ::: Тип или имя пространства...

В чем разница между подключением пространства имен в начале файла и внутри другого пространства имен?
Привет! Есть свой класс: namespace MyNamespace { public class MyClass { }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru