我在myClass中有字段public TimeSpan TimeSpanField
。我创建了myClass和fill字段的实例。接下来我想将它序列化为XML并反序列化回对象。我知道Microsoft在TimeSpan序列化方面存在问题,因此我找到了答案How to serialize a TimeSpan to XML并使用它。
好!它运作良好。但是如何使public TimeSpan[] TimeSpanArrayField
类似。在这种情况下,索引器(http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx)没有帮助。
public TimeSpan TimeSpanField
的代码
[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);
}
}
答案 0 :(得分:0)
解决。
[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]);
}
}