Saya mencoba untuk membuat serial TimeSpanobjek .NET ke XML dan tidak berfungsi. Google cepat telah menyarankan bahwa sementara TimeSpanserializable, XmlCustomFormattertidak menyediakan metode untuk mengkonversi TimeSpanobjek ke dan dari XML.
Salah satu pendekatan yang disarankan adalah untuk mengabaikan TimeSpanserialisasi, dan bukannya membuat serialisasi hasil TimeSpan.Ticks(dan digunakan new TimeSpan(ticks)untuk deserialisasi). Contohnya sebagai berikut:
[Serializable]
public class MyClass
{
// Local Variable
private TimeSpan m_TimeSinceLastEvent;
// Public Property - XmlIgnore as it doesn't serialize anyway
[XmlIgnore]
public TimeSpan TimeSinceLastEvent
{
get { return m_TimeSinceLastEvent; }
set { m_TimeSinceLastEvent = value; }
}
// Pretend property for serialization
[XmlElement("TimeSinceLastEvent")]
public long TimeSinceLastEventTicks
{
get { return m_TimeSinceLastEvent.Ticks; }
set { m_TimeSinceLastEvent = new TimeSpan(value); }
}
}
Meskipun ini tampaknya berfungsi dalam pengujian singkat saya - apakah ini cara terbaik untuk mencapai ini?
Apakah ada cara yang lebih baik untuk membuat serial TimeSpan ke dan dari XML?