Estoy en el proceso de migrar una biblioteca que está escrita en C++ y tiene un contenedor C#. El C# envoltorio (LibWrapper
) tiene un conjunto de clases con espacios de nombres, como:Clase con el mismo nombre en dos conjuntos (intencionalmente)
namespace MyNamespace
class MyClass
class MyOtherClass
Mi nueva biblioteca, LibraryCS
contiene los mismos espacios de nombres y nombres de clases como LibWrapper
(por requerimiento del usuario), por lo que también tengo:
namespace MyNamespace
class MyClass
class MyOtherClass
Ahora que la migración ha finalizado, estoy en proceso de crear una prueba que compare los resultados del uso de ambas bibliotecas para validar la migración. Sin embargo, cuando trato de hacer referencia a MyNamespace.MyClass
obtengo un error de compilación (¡esperemos!) Que diga "MyNamespace.MyClass está definido tanto en LibWrapper como en LibraryCS".
¿Hay algún truco sobre este problema, que me permita usar dos clases con el mismo nombre pero de diferentes ensamblajes en el mismo código de cliente?
Alternativamente, ¿hay alguna otra manera de probar esto?
Renombrar el espacio de nombre migrado a algo como MyNamespace2
, por supuesto, funcionará, pero se nos pidió que no lo hagamos, a fin de que el código del cliente sea más fácil de migrar.
¿Estaría bien escribir un contenedor sobre una de las clases que existe en otro espacio de nombres? – Goblin
Si puedo ejecutar ambos en el mismo código de prueba, puede ser aceptable. Será una envoltura solo utilizada para fines de prueba. – pgb