Преобразование Enum между модулями - PullRequest
5 голосов
/ 19 января 2011

У меня есть определение enum в одном модуле (A), например, SUCCESS = 0, INVALID_REQ = 1 и т. Д. Затем у меня есть другой dll (модуль B), который имеет свой собственный набор enum.Как только мы добавляем новое значение перечисления в A, мы должны вручную добавить его в B, так как A находится в .NET, а B - это C-код.Кроме того, enum в A является только частью enum статуса в B (B имеет свой внутренний статус помимо статуса от A).Это кажется очень тесной связью между этими двумя модулями.Любые предложения, чтобы сделать их менее связанными?Thx!

Ответы [ 2 ]

2 голосов
/ 19 января 2011

Почему бы не написать простой скрипт, который генерирует эти перечисления на основе файла во время сборки?Если вы действительно хотите отсоединить их, вам нужно будет сделать кого-то мастером и показать его содержимое другой стороне. Вероятно, с помощью RCW.

1 голос
/ 19 января 2011

Было бы забавно использовать здесь отражение. Напишите небольшую программу, которая читает перечисление по отражению от модуля A и генерирует файл .h для использования в модуле c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...