Benutzerdefinierte Stringenkinverter nimmt nicht alle Enums aufC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Benutzerdefinierte Stringenkinverter nimmt nicht alle Enums auf

Post by Anonymous »

Ich habe ein Paket von Aufzeichnungen zum Serialisieren und Deserialisieren in einem privaten Github -Repo für mein Projekt. Innerhalb eines von ihnen befinden sich eine Reihe von Aufzügen. Ich arbeite mit einem GraphQL -Backend und in GraphQL werden die Enums mit Unterstrichen zwischen den Wörtern in den oberen Fall konvertiert.
Um damit umzugehen > Um Werte wie regulär zu regulär und annualleave an jährlich_leave zu bringen. Diese scheinen absolut in Ordnung zu funktionieren, aber ich habe eine Statusumum, bei der es sich um Entwurf handelt. Es geht jedoch nicht durch den Konverter, um ihn in Entwurf zu ändern.
Hier ist meine WriteJSON -Methode, die für die Arbeit schick ist:
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
if (value is Enum enumValue)
{
var enumString = enumValue.ToString();
var snakeCase = Regex.Replace(enumString, "([a-z])([A-Z])", "$1_$2").ToUpper();
writer.WriteValue(snakeCase);
}
else
{
base.WriteJson(writer, value, serializer);
}
}
< /code>
Ich habe einige Debugging mit Haltepunkten und die ersten beiden, regulären und Annualleave getroffen, hat den Haltepunkt gut getroffen, aber der Entwurf ist aus irgendeinem Grund nicht. < /p>
Kann jemand Hilfe anbieten, warum dies möglicherweise passieren könnte, bitte?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post