Warum ist "System".Zeitspanne nicht XML-serialisierbar?
Wenn ich versuche zu speichern, einen TimeSpan-Wert in ApplicationData Einstellungen bekomme ich eine Fehlermeldung, weil die Zeitspanne kann nicht serialisiert werden. Dies, SO Frage zeigt, wie es zu handhaben: Wie man einen TimeSpan serialisieren nach XML
Warum ist es, die Zeitspanne würde nicht leicht serialisierbar?
Ist, ist es eine Liste der Datentypen, die nicht serialisiert werden?
- Es ist
[Serializable]
. Macht dies zu einem schlechten Titel. - Nicht zu streiten, aber warum nicht TimeSpan serialisieren?
- Es serialisieren. Verwenden Sie einfach ein SoapFormatter oder BinaryFormatter.
- mögliche Duplikate von .NET, Wie man einen TimeSpan serialisieren in XML
- Es ist als serialisierbar markiert, aber die XMLCustomFormatter nicht behandelt. Ich denke, die Frage ist, was MS gemacht, dass die Wahl, auf die die Antwort ist, müsste man Fragen, MS. Es gibt keine Erwähnung von ihm in der SSCLI, die ich finden kann.
- Ich glaube nicht, dass dies ein Duplikat ist. Die andere Frage, die fragt, wie es zu serialisieren sowieso und dieser ist zu Fragen, warum es nicht nur Arbeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund, warum es nicht serialisieren, weil
XmlCustomFormatter
nicht die Implementierung der Funktionalität zum serialisieren.Aus der
XmlCustomFormatter
Klasse, hier ist eine Liste der unterstützten serialisierbare Daten (aus derFromDefaultValue
- Methode):DateTime
Date
Time
Können Sie sehen, wie es verwendet wird, zu serialisieren alles, wenn man sich die
XmlSerializationWriter
Klasse in der Quelle Referenz:Sehen die
WriteTypedPrimitive
Methode für mehr details auf primites etc.Details auf Objekt, und xml-Serialisierung:
DataTime
.