TimeSpanXML için bir .NET nesnesi serileştirmek çalışıyorum ve çalışmıyor. Hızlı bir Google TimeSpan, serileştirilebilir olsa da, XML'e ve XML'den nesne XmlCustomFormatterdönüştürmek için yöntemler sağlamadığını önerdi TimeSpan.
Önerilen bir yaklaşım, TimeSpanserileştirmeyi göz ardı etmek ve bunun yerine sonucunu serileştirmek TimeSpan.Ticks(ve serileştirme için kullanmak new TimeSpan(ticks)) idi. Bunun bir örneği:
[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); }
}
}
Bu benim kısa testimde işe yarıyor gibi görünse de, bunu başarmanın en iyi yolu bu mu?
XML'e ve XML'den bir TimeSpan serileştirmenin daha iyi bir yolu var mı?