gpt4 book ai didi

c# - 在枚举参数中使用短划线 (-) 字符

转载 作者:可可西里 更新时间:2023-11-01 08:11:00 29 4
gpt4 key购买 nike

public enum TimeFormat
{
@12-hour,
@24-hour
}

你好,

我使用 newtonsoft 反序列化器将 json 字符串反序列化为对象。

JsonDeserializer 检查枚举参数名称。如果它与 json 字符串相同。它将字符串转换为枚举。

我可以在枚举中使用破折号、减号 (-) 字符作为枚举参数吗?我试着像上面那样使用,但我无法编译项目。

然后我尝试了这个。

[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum TimeFormat
{
[JsonProperty("12-hour")]
hour12,
[JsonProperty("24-hour")]
hour24,

}

反序列化器无法反序列化 json 字符串。

错误:未找到请求值“12 小时”

最佳答案

我解决了问题。

[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]    
public enum TimeFormat
{
[System.Runtime.Serialization.EnumMember(Value = "12-hour")]
hour12,
[System.Runtime.Serialization.EnumMember(Value = "24-hour")]
hour24,

}

StringEnumConverter 检查 EnumMemberAttribute .

关于c# - 在枚举参数中使用短划线 (-) 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15069588/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com