Использовать символ Dash (-) в параметре enum
public enum TimeFormat
{
@12-hour,
@24-hour
}
Привет,
Я использую десериализатор newtonsoft для десериализации json-строки для объекта.
JsonDeserializer проверяет имя параметра перечисления. если это то же самое с json-строкой. он преобразует строку в перечисление.
Могу ли я использовать символ Dash, Minus (-) в enum как параметр enum. Я пытался использовать, как указано выше, но я не мог скомпилировать проект.
Тогда я попробовал это.
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum TimeFormat
{
[JsonProperty("12-hour")]
hour12,
[JsonProperty("24-hour")]
hour24,
}
Deserializer не может десериализовать строку json.
Ошибка: запрошенное значение '12-hour 'не было foun
Ответы
Ответ 1
Я исправил проблему.
[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
.