Override XML Serialization Method

前端 未结 2 1500
隐瞒了意图╮
隐瞒了意图╮ 2021-01-19 01:00

I\'m having trouble trying to customize the way DateTime variables are serialized in my objects. I want it to be output as 2011-09-26T13:00:00Z but when I override the GetOb

2条回答
  •  悲&欢浪女
    2021-01-19 01:19

    I had a suggestion from @craighawker to format the DateTime into a string when calling a set() method for the DateTime. Seemed the simplest method although I would like to implement it the proper way using IXMLSerializable at some point in the future to do more powerful things

     public class gdEvent
        {
        [XmlAttribute(AttributeName = "startTime")]
        private string m_startTimeOutput;
        private DateTime m_startTime; //format 2011-11-02T09:00:00Z
    
        [XmlAttribute(AttributeName = "endTime")]
        private string m_endTimeOutput;
        private DateTime m_endTime; //2011-11-02T10:00:00Z
    
        public DateTime startTime
        {
            get
            {
            return m_startTime;
            }
            set
            {
            m_startTime = value;
            m_startTimeOutput = m_startTime.ToString("yyyy-MM-ddTHH:mm:ssZ");
            }
        }
    
        public DateTime endTime
        {
            get
            {
            return m_endTime;
            }
            set
            {
            m_endTime = value;
            m_endTimeOutput = m_endTime.ToString("yyyy-MM-ddTHH:mm:ssZ");
            }
        }
    

提交回复
热议问题