Como serializar um TimeSpan para XML

Estou tentando serializar um .NETTimeSpan objeto para XML e não está funcionando. Um google rápido sugeriu que enquantoTimeSpan é serializável, oXmlCustomFormatter não fornece métodos para converterTimeSpan objetos de e para XML.

ma abordagem sugerida foi ignorar oTimeSpan para serialização e, em vez disso, serialize o resultado deTimeSpan.Ticks (E usenew TimeSpan(ticks) para desserialização). Um exemplo disso é o seguinte:

[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); }
    }
}

Embora isso pareça funcionar nos meus breves testes - esta é a melhor maneira de conseguir isso?

xiste uma maneira melhor de serializar um TimeSpan de e para XM

questionAnswers(13)

yourAnswerToTheQuestion