使C++软件包和C#软件包访问相同枚举/常量int的最佳方法

本文关键字:软件包 常量 int 最佳 方法 枚举 C++ 访问 | 更新日期: 2023-09-27 18:28:38

我正在开发一个传输消息的软件包。目前,我有一个包含消息ID定义的头文件。我的同事正在用C#创建一个软件工具,需要访问这些ID。我们的软件访问这些ID的最佳方式是什么?

更多详细信息:他和我无法控制我们使用什么语言。他想把同一份清单复印两份。我总是犹豫要不要复制相同的代码。(将会有很多消息ID)。有没有一种简单的方法可以让这两个工具访问相同的ID?

使C++软件包和C#软件包访问相同枚举/常量int的最佳方法

C++/CLI是您的朋友。我的一个项目中也有完全相同的场景,我发现C++/CLI在这方面非常有用。我的设计基于三层:

C#
_______
C++/CLI
_______
C++

这样,我就可以很容易地重用我的C++定义,而不会有任何重复

您可以在一些声明性的、琐碎的语法中指定ID,并让您的(自动)构建过程从中生成C#和C++源文件。这样,您就有了一个单一的源。