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
으로 바꾸면 클라이언트 코드를 더 쉽게 마이그레이션 할 수 있습니다.
다른 네임 스페이스에있는 클래스 중 하나에 래퍼를 쓸 수 있습니까? – Goblin
동일한 테스트 코드에서 두 가지를 모두 실행할 수 있다면 허용 될 수 있습니다. 테스트 용으로 만 사용되는 랩퍼입니다. – pgb