作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个枚举:
public enum IdleDelayBreakMode
{
Repeat,
ShowNext
}
我正在使用 NewtonSoft.Json
转换为包含该枚举类型属性的 json 对象。将该枚举的值序列化为任意整数的最佳解决方案是什么?理想情况下,我想在下面的代码片段中做一些类似的事情,我想知道是否有内置的解决方案:
public enum IdleDelayBreakMode
{
[JsonValue(100)]
Repeat, // When serializing will be converted to 100
[JsonValue(200)]
ShowNext // When serializing will be converted to 200
}
最佳答案
你可以像这样设置枚举值:
public enum IdleDelayBreakMode
{
Repeat = 100,
ShowNext = 200
}
Newtonsoft.Json 将使用枚举值。无需设置属性。这样,无论您需要将其序列化为 JSON、使用 Entity Framework 将其保存在数据库中等,它都将在整个系统中保持一致。
您是否将枚举用作整数常量存储?
在这种情况下,您可能希望从 int 继承它:
public enum IdleDelayBreakMode : int
关于c# - 使用 Newtonsoft.Json 时将枚举值转换为任意整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382177/
我是一名优秀的程序员,十分优秀!