在我的c ++项目中,我有一个我想在c#代码中使用的枚举。我按照其他stackoverflow文章(如C++/CLI enum not showing up in C# with reference to C++/CLI project
)的指示将其设为枚举类问题是,如果枚举类在另一个类中,我可以看到枚举本身,但不能看到它的枚举列表。所以在c ++中
public enum class cool {Cool1, Cool2};
以下在c#
中可以cool whatLevelCool;
whatLevelCool = cool.Cool1;
在我的c#代码中正常工作 - 我可以看到很酷的枚举并访问cool.Cool1和cool.cool2。
但是,如果它嵌入在类中,即使它位于公共部分中,只有枚举本身是可见的,而不是它的枚举列表。所以,
public class SuperCool{
public:
enum class cool {Cool1, Cool2};
...
在这种情况下,如果我转到我的c#代码,
SuperCool.cool whatLevelCool; //Still works fine
whatLevelCool = SuperCool.cool.Cool1; //Doesn't work - enum has no values in it
是什么给出的?我唯一的选择是把课堂上的内容拉出来,还是有另一种方式?
包含枚举的代码不是我的代码,并且枚举被全部使用,所以我想尽可能避免移动它们。