Tengo una biblioteca que consta de tres partes. Primero es C++ nativo, que proporciona la funcionalidad real. El segundo es un envoltorio/adaptador C++/CLI para la biblioteca C++, para simplificar la transición C# a C++. Finalmente tengo una biblioteca C#, que invoca la biblioteca C++ a través del adaptador C++/CLI.Compartiendo una enumeración de C#, C++/CLI y C++
En este momento no tengo dos conjuntos de definiciones de enumeración paralelos, uno almacenado en un archivo .cs y el otro en un archivo .h. Esto plantea un doble problema:
- Tengo doble mantenimiento. Siempre debo sincronizar los cambios de una enumeración en ambas ubicaciones de archivos.
- El espacio de nombre utilizado por ambas enumeraciones debe ser idéntico, pero el contenedor C++/CLI, que ve ambos conjuntos de enumeraciones y las traduce entre ellas, incurre en una colisión de nombres.
En este momento no estoy seguro de una solución como this o that resolvería ambos problemas. ¿Pensamientos?
no es un duplicado, pero vea una pregunta similar: http: // stackoverflow.com/questions/954321/is-it-possible-to-share-an-enum-declaration-between-c-and-unmanaged-c –
posible duplicado de [¿Cómo comparto una constante entre C# y código C++?] (http://stackoverflow.com/questions/3146017/how-do-i-share-a-constant-between-c-and-c-code) –
@Billy: no es un duplicado, ya que la capa C++/CLI aquí da algunas opciones adicionales. No obstante, las respuestas en la publicación que proporcionó podrían ser útiles aquí también. –