我有一个包含三个部分的库。首先是 native C++,它提供了实际的功能。其次是用于C++库的C++/CLI包装器/适配器,以简化从C#到C++的过渡。最后,我有一个C#库,该库通过C++/CLI适配器调用C++库。
现在,我有两组并行的枚举定义,一组存储在.cs文件中,另一组存储在.h文件中。这带来了一个双重问题:
现在,我不确定像this或that这样的解决方案是否可以解决和这两个问题。有什么想法吗?
最佳答案
只需将#include "Enum.cs"
指令放在外部 namespace 中即可解决命名冲突。
编辑:Brent建议的一种变体是使用#define
替换.cs文件中声明的 namespace (甚至是枚举名称本身)之一。这也避免了命名冲突,而不会使 namespace 层次结构更深。