Я нахожусь в процессе переноса библиотеки, написанной на C ++ и имеющей оболочку C #.Оболочка C # (LibWrapper
) имеет набор классов с пространствами имен, таких как:
namespace MyNamespace
class MyClass
class MyOtherClass
Моя новая библиотека, LibraryCS
содержит те же пространства имен и имена классов, что и LibWrapper
(по требованию пользователя)Итак, у меня также есть:
namespace MyNamespace
class MyClass
class MyOtherClass
Теперь, когда миграция завершена, я нахожусь в процессе создания теста, который сравнивает результаты использования обеих библиотек для проверки миграции.Однако, когда я пытаюсь сослаться на MyNamespace.MyClass
, я получаю сообщение об ошибке компилятора (как и ожидалось!), В котором говорится, что «MyNamespace.MyClass определен как в LibWrapper, так и в LibraryCS».позвольте мне использовать два класса с одинаковым именем, но из разных сборок в одном и том же клиентском коде?
В качестве альтернативы, есть ли другой способ проверить это?
Переименование перенесенного пространства имен в другоевроде MyNamespace2
, конечно, будет работать, но нас попросили не делать этого, чтобы облегчить перенос клиентского кода.