.NET TimeSpanオブジェクトをXML にシリアル化しようとしていますが、機能しません。簡単なグーグルTimeSpanはシリアライズ可能であるXmlCustomFormatterがTimeSpan、XMLとの間でオブジェクトを変換するメソッドを提供しないことを示唆しています。
提案されたアプローチの1つは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); }
    }
}これは私の簡単なテストで機能するようですが、これはこれを達成するための最良の方法ですか?
TimeSpanをXMLとの間でシリアル化するより良い方法はありますか?