Как побороть ошибку "Пространство имён используется как тип"
От: varenikAA  
Дата: 18.09.20 04:22
Оценка:
Периодически бывает такая ошибка. Например, в WPF что-то похожее было. Пришлось переименовать пространство.
Но сейчас общий стандарт-проект. 3.1 не ругается. А 2.2 не хочет собираться выдает эту ошибку.
Как думаете? Если у меня допустим EmailSender.
Полное имя Com.EmailSender.EmailSender плохо( Com.EmailSender — сборка)?
У меня закончились имена
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: “Framework Design Guidelines”, 3rd edition
От: Qbit86 Кипр
Дата: 18.09.20 06:30
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Как побороть ошибку "Пространство имён используется как тип"


❌ DO NOT use the same name for a namespace and a type in that namespace.

For example, do not use Debug as a namespace name and then also provide a class named Debug in the same namespace. Several compilers require such types to be fully qualified.
— https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces

Глаза у меня добрые, но рубашка — смирительная!
Re: Как побороть ошибку "Пространство имён используется как тип"
От: Mihas  
Дата: 18.09.20 07:15
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

Как-то можно перекантоваться, создав псевдоним типа с помощью using.
А в целом, конечно, расширять словарный запас.
Re[2]: “Framework Design Guidelines”, 3rd edition
От: varenikAA  
Дата: 18.09.20 08:06
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Здравствуйте, varenikAA, Вы писали:


AA>>Как побороть ошибку "Пространство имён используется как тип"


Q>

❌ DO NOT use the same name for a namespace and a type in that namespace.

Q>For example, do not use Debug as a namespace name and then also provide a class named Debug in the same namespace. Several compilers require such types to be fully qualified.
Q>— https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces


Жалко и это в 21 веке!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Как побороть ошибку "Пространство имён используется как тип"
От: Ночной Смотрящий Россия  
Дата: 18.09.20 09:38
Оценка: 13 (3) +1
Здравствуйте, varenikAA, Вы писали:

AA>Полное имя Com.EmailSender.EmailSender плохо( Com.EmailSender — сборка)?


Не надо так делать. Просто не надо.

AA>У меня закончились имена


Расширяй словарный запас и больше внимания уделяй хорошему упорядочиванию кода, окупится. Лайфхак называть неймспейсы во множественном числе, а классы — в единственном.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: “Framework Design Guidelines”, 3rd edition
От: Ночной Смотрящий Россия  
Дата: 18.09.20 09:38
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Жалко и это в 21 веке!


В 21 веке поменялись правила логики и синтаксические конфликты можно игнорировать?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Герундий
От: Qbit86 Кипр
Дата: 18.09.20 09:42
Оценка: +3
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Лайфхак называть неймспейсы во множественном числе


Или герундий типа System.Threading.
Глаза у меня добрые, но рубашка — смирительная!
Re[4]: “Framework Design Guidelines”, 3rd edition
От: varenikAA  
Дата: 21.09.20 01:46
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>В 21 веке поменялись правила логики и синтаксические конфликты можно игнорировать?


Я программист-любитель. Но что я нарушил кроме гайд-стайл(который в данном контексте просто смотрится неуклюжим костылем из засохшей коряги)?
Вопрос в том чем, почему рослин для проектов годовой давности работает хуже,чем текущий?
Если хоть что-то понимаю в АСТ, то тип A.B.B ничуть не хуже A.B.C.
Если конечно у нас строится именно АСТ, а не используется примитивный парсер,
который ищет тип по вхождению в строку с полным именем, причем видимо не с конца,
а с начала и делает вывод, что B никакой не тип, а нэймспэйс.
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.