Wie verwende ich die Standardserialisierung in einem benutzerdefinierten JsonConverter?

Ich habe ein komplexes Objektdiagramm, das ich mit Json.NET serialisiere / deserialisiere. Einige der Objekte stammen von einer abstrakten Klasse. Damit die Deserialisierung ordnungsgemäß funktioniert, musste ich ein benutzerdefiniertes @ erstelleJsonConverter. Ihre einzige Aufgabe besteht darin, die geeignete konkrete Implementierung der abstrakten Klasse zum Zeitpunkt der Deserialisierung auszuwählen und Json.NET den weiteren Weg zu ermöglichen.

Mein Problem kommt, wenn ich serialisieren möchte. Ich muss überhaupt nichts Brauches tun. Ich möchte genau das gleiche Verhalten wie bei Verwendung von @ erhalteJsonConvert.SerializeObject ohne benutzerdefiniertesJsonConverter.

Da ich jedoch die benutzerdefinierte JsonConverter-Klasse für meine Deserialisierungsanforderungen verwende, bin ich gezwungen, ein @ anzugebeWriteJson Implementierung. Da WriteJson abstrakt ist, kann ich nicht einfach @ anrufbase.WriteJson, aber ich möchte das im Wesentlichen tun. Meine Frage ist also, was ich in diese Methode stecke, um das normale Jane-Standardverhalten zu erhalten. Mit anderen Worten

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
    // What goes here to get default processing?
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage