c# - 在 C# 中的运行时设置枚举值

标签 c# enums runtime

有什么方法可以在运行时更改 enum 值?

例如我有以下类型

enum MyType
{
   TypeOne, //=5 at runtime 
   TypeTwo  //=3 at runtime
}

我想在运行时将 5 设置为 TypeOne,将 3 设置为 TypeTwo

最佳答案

正如其他人所指出的,答案是否定的。

但是您可以重构您的代码以改用类:

public sealed class MyType
{
   public int TypeOne { get; set; }
   public int TypeTwo { get; set; }
}

...

var myType = new MyType { TypeOne  = 5, TypeTwo = 3 };

或该主题的变体。

关于c# - 在 C# 中的运行时设置枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26827461/

相关文章:

c# - C#4.0中如何调用动态类型的静态方法?

swift - 无法识别枚举的 rawValue 属性

python - SWIG- 将 C++ 枚举转换为 Python 枚举

compiler-construction - 在 Windows 上运行时执行 LLVM IR

c# - 如何使用 linq-c# 将 XML 元素值转换为 int

C#线程处理消息队列

c# - 使用套接字向远程服务器发送数据

c++ - 奇怪地使用枚举作为常量

c# - 为什么 ISerializationSurrogate.SetObject 返回一个对象并获取一个对象来填充?

java - 确定是否安装了matlab运行时(最好使用Java)