Wenn ich versuche, einen TimeSpan-Wert in den ApplicationData-Einstellungen zu speichern, erhalte ich einen Fehler, weil TimeSpan nicht serialisiert werden kann. Diese SO Frage zeigt, wie man damit umgeht: Wie man einen TimeSpan nach XML serialisiert
Warum ist TimeSpan nicht leicht serialisierbar?
Und gibt es eine Liste von Datentypen, die nicht serialisiert werden können?
Der Grund, warum es nicht serialisiert wird, ist, weil XmlCustomFormatter
die Funktionalität zum Serialisieren nicht implementiert.
Aus der Klasse XmlCustomFormatter
folgt hier eine Liste der unterstützten serialisierbaren Daten (aus der FromDefaultValue
-Methode):
DateTime
Date
Time
Sie können sehen, wie es verwendet wird, um alles zu serialisieren, wenn Sie die Klasse XmlSerializationWriter
in der Quellenreferenz betrachten:
Siehe die WriteTypedPrimitive
-Methode für weitere Details zu Primitiven etc.
Details zur Objekt- und XML-Serialisierung:
%Vor%Tags und Links c# serialization timespan xml-serialization