TimeSpan
XML 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 XmlCustomFormatter
dönüştürmek için yöntemler sağlamadığını önerdi TimeSpan
.
Önerilen bir yaklaşım, TimeSpan
serileş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ı?