У меня есть библиотека, состоящая из трех частей. Сначала это родной С++, который обеспечивает фактическую функциональность. Второй - это оболочка/адаптер С++/CLI для библиотеки С++, чтобы упростить переход С# на С++. Наконец, у меня есть библиотека С#, которая вызывает библиотеку С++ через адаптер С++/CLI.
Прямо сейчас у меня есть два набора параллельных определений enum, один из которых хранится в .cs файле, а другой - в .h файле. Это создает двойную проблему:
- У меня есть двойное обслуживание. Я должен всегда синхронизировать изменения перечисления в обоих расположениях файлов.
- Пространство имен, используемое обе перечислениями, должно быть идентичным, но оболочка С++/CLI, которая просматривает оба набора перечислений и переводит между ними, несет конфликт имен.
Сейчас я не уверен, что такое решение this или что решит проблемы как. Мысли?