c ++ cli项目中的public enum类 - 枚举列表来自类外的枚举可见,但不适用于类内的枚举

时间:2017-05-16 13:04:51

标签: c# enums c++-cli

在我的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

是什么给出的?我唯一的选择是把课堂上的内容拉出来,还是有另一种方式?

包含枚举的代码不是我的代码,并且枚举被全部使用,所以我想尽可能避免移动它们。

0 个答案:

没有答案