首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimeSpan[] XmlSerialization

TimeSpan[] XmlSerialization
EN

Stack Overflow用户
提问于 2014-10-02 14:21:54
回答 1查看 766关注 0票数 0

我在myClass有字段myClass。我创建myClass和fill字段的实例。接下来,我想将它序列化为XML,然后反序列化回对象。我知道微软在TimeSpan序列化方面有问题,所以我找到了答案How to serialize a TimeSpan to XML并使用它。好的!效果很好。但是如何为public TimeSpan[] TimeSpanArrayField制作类似的。在这种情况下,索引器(http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx)没有帮助。

public TimeSpan TimeSpanField代码

代码语言:javascript
复制
    [XmlIgnore]
    public TimeSpan TimeSpanField;

    [Browsable(false)]
    [XmlElement(DataType = "duration", ElementName = "TimeSpanField")]
    public string TimeSpanFieldString
    {
        get
        {
            return XmlConvert.ToString(TimeSpanField);
        }
        set
        {
            TimeSpanField = string.IsNullOrEmpty(value) ?
                TimeSpan.Zero : XmlConvert.ToTimeSpan(value);
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-03 11:47:39

解决了。

代码语言:javascript
复制
    [XmlIgnore]
    public TimeSpan[] TimeSpanArrayField;

    [Browsable(false)]
    [XmlElement(DataType = "duration", ElementName = "TimeSpanField")]
    public string[] TimeSpanFieldString
    {
        get
        {
            string[] strings = new string[TimeSpanArrayField.Length];
            for (int number = 1; number <= TimeSpanArrayField.Length; number++)
                strings[number - 1] = TimeSpanArrayField[number - 1].ToString();
            return strings;
        }
        set
        {
            TimeSpanArrayField = new TimeSpan[value.Length];
            for (int number = 1; number <= value.Length; number++)
                TimeSpanArrayField[number - 1] = TimeSpan.Parse(value[number - 1]);
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26162944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档