मैं TimeSpan
XML के लिए एक .NET ऑब्जेक्ट को क्रमबद्ध करने की कोशिश कर रहा हूं और यह काम नहीं कर रहा है। एक त्वरित Google ने सुझाव दिया है कि TimeSpan
धारावाहिक होने के दौरान, वस्तुओं को XML से और XmlCustomFormatter
परिवर्तित करने के लिए तरीके प्रदान नहीं करता है TimeSpan
।
एक सुझाया गया दृष्टिकोण TimeSpan
क्रमबद्धता के लिए उपेक्षा करना था , और इसके बजाय TimeSpan.Ticks
(और new TimeSpan(ticks)
विचलन के लिए उपयोग ) के परिणाम को क्रमबद्ध करना था । इसका एक उदाहरण इस प्रकार है:
[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); }
}
}
जबकि यह मेरे संक्षिप्त परीक्षण में काम करता है - क्या इसे प्राप्त करने का सबसे अच्छा तरीका है?
क्या XML से और उसके लिए TimeSpan को क्रमबद्ध करने का एक बेहतर तरीका है?