在 C# 中,您可以声明一个枚举,一旦设置了它的值,就在变量上调用 ToString 并获取枚举值的字符串表示形式。
您如何在 C++/CLI 中使用托管枚举执行此操作?
最佳答案
虽然其他答案不正确,但我发现自己遇到了同样的问题。在我的例子中,我已经声明了一个标准的 C++ 枚举并且忘记了使用 CLI 语法(即使我在没有编译器警告的情况下将它暴露在公共(public)属性中!)。
C++/CLI 枚举的正确语法是(注意“类”这个词):
public enum class SomeEnum {
Value1,
Value2
}
注意:您也可以使用“结构”而不是“类”。
您还需要回顾您的代码并从中更改任何分配(编译器会很高兴地向您显示错误):
SomeEnum value = Value1;
对此:
SomeEnum value = SomeEnum::Value1;
您现在会发现 'ToString()' 按您的预期工作。
关于c++-cli - C++/CLI 中枚举类型上的 ToString() 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399569/