public enum TimeFormat
{
@12-hour,
@24-hour
}
Hallo,Verwenden Dash (-) Zeichen in Enum Parameter
Ich benutze newtonsoft Deserializer für deserialize JSON-String in ein Objekt.
JsonDeserializer prüft den Enum-Parameternamen. Wenn es gleich ist mit JSON-String. Es konvertiert String in enum.
Kann ich Bindestrich, Minuszeichen (-) in einer Aufzählung als Enum-Parameter verwenden. Ich habe versucht, wie oben zu verwenden, aber ich konnte das Projekt nicht kompilieren.
Dann habe ich das versucht.
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum TimeFormat
{
[JsonProperty("12-hour")]
hour12,
[JsonProperty("24-hour")]
hour24,
}
Deserializer konnte nicht JSON-String deserialisieren.
Fehler: Angeforderte Wert '12 -Stunden‘foun wurde nicht
In den Tagen, wenn 'VB6' Sie können anythnig in eine' Enum' setzen, wenn Sie es zwischen '' Diese Funktionalität wurde leider in '.NET'-Welt entfernt. – ja72
http://stackoverflow.com/questions/2441290/json-serialization-of-c-sharp-enum-as-string –
@StenPetrov Ich benutze StringEnumConverter zum Deserialisieren und Serialisieren einer Enumeration. Aber es ignoriert JsonPropertyAttribute von Enum-Parametern. Es gibt keine Dokumentation darüber. Warum überprüft es Attribut des Aufzählungsparameters nicht :(http://james.newtonking.com/projects/json/help/index.html?topic=html/T_Newtonsoft_Json_Converters_StringEnumConverter.htm – halit