So serialisieren / deserialisieren Sie unveränderliche Listentypen in c #
Wenn ich eine Klasse definiert habe
[DataContract()]
class MyObject {
[DataMember()]
ImmutableList<string> Strings { get; private set}
}
DasImmutableList<T>
Typ stammt aus der Immutables-Bibliothekhttps://www.nuget.org/packages/Microsoft.Bcl.Immutable. Beachten Sie, dass die Klasse ImmutableList keinen Standardkonstruktor oder keine veränderbare Add-Methode hat. Das Hinzufügen von Dingen zur Liste erfolgt in der folgenden Form.
myList = myList.Add("new string");
Kann ich dem .NET-Serialisierungsmechanismus eine benutzerdefinierte Unterstützung hinzufügen, um diesen Typ zu unterstützen, und zeigen, wie er deserialisiert wird?
Gegenwärtig wird die Sammlung nur bei der Deserialisierung übersprungen, obwohl es in Ordnung ist, sie zu serialisieren.