c++-cli - C++/CLI 中枚举类型上的 ToString() 等价物

标签 c++-cli

在 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/

相关文章:

双倍的正则表达式

c++ - 在 C++/CLI 中创建某种 C++ 对象列表

c++ - 我可以在表单应用程序的 while 循环中查询用户交互事件吗?

c# - native C 的 C++/CLI 包装器中的 AccesViolationException

c++ - 将 cmd 行转换为 int 控制台 C++

c# - 我如何在 C++/CLI 中执行 C# typeof(bool)?

asp.net-mvc-3 - 尝试加载 64 位 C++/CLI 程序集时出现 ASP.NET MVC3 运行时错误

.net - 如何在 C++ 中将 std::string 转换为 CV::String?

c# - C++/CLI 等效于 C# checked 关键字

c++ - 在x64模式下从C++/CLI调用MASM PROC会产生意外的性能问题