【发布时间】:2011-03-15 11:49:09
【问题描述】:
我有一个由三部分组成的库。首先是提供实际功能的本机 C++。其次是 C++ 库的 C++/CLI 包装器/适配器,以简化 C# 到 C++ 的转换。最后我有一个 C# 库,它通过 C++/CLI 适配器调用 C++ 库。
现在我有两组并行枚举定义,一组存储在 .cs 文件中,另一组存储在 .h 文件中。这带来了双重问题:
- 我有双重维护。我必须始终在两个文件位置同步枚举的更改。
- 两个枚举使用的命名空间应该相同,但 C++/CLI 包装器会查看两组枚举并在它们之间进行转换,这会导致命名冲突。
【问题讨论】:
-
不是重复但看到类似的问题:stackoverflow.com/questions/954321/…
-
@Billy:它不是重复的,因为这里的 C++/CLI 层提供了一些额外的选项。不过,您给出的帖子中的答案在这里也可能会有所帮助。
-
将这两个解决方案放在一起就完成了?!
-
附加要求:我的 C# 客户端是“AnyCPU”并且支持的 C++/CLI 必须同时支持 x86/x64 部署。这意味着 C# 客户端在运行时显式加载 C++/CLI;从 C# 到 C++/CLI 的构建时依赖不是一个选项。