Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > XML Сериализация свойства |
Автор: 2belikespring 23.1.2008, 21:45 |
Добрый вечер! Создал свойство для сериализации массива TimeSpan. Подскажите пожалуйста как его правильно сериализовать в XML, а то не проходит десериализация: public String[] XmlTimeSpan { 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 { for (int number = 1; number <= value.Length; number++) TimeSpanArrayField[number - 1] = TimeSpan.Parse(value[number - 1]); } } |
Автор: 1stain 23.1.2008, 22:37 | ||
кстати, спасибо за информацию: не знал, что TimeSpan глючит при XML сериализации |
Автор: 1stain 23.1.2008, 23:46 | ||
а вот этот метод я в самом деле нагуглил ![]()
преимущество по-моему налицо: добавляем класс TimeSpanCollection в проект и больше не паримся насчет сериализации List<TimeSpan> |
Автор: 2belikespring 24.1.2008, 11:40 |
![]() Просто забыл инициализировать массив ![]() set { TimeSpanArrayField = new TimeSpan[value.Length]; for (int number = 1; number <= value.Length; number++) TimeSpanArrayField[number - 1] = TimeSpan.Parse(value[number - 1]); } |
Автор: likemusic 17.8.2013, 01:48 | ||
В классе TimeSpanCollection не совсем корректный метод ReadXm() - из-за вызова ReadToFollowing(), все что в XML-файле после TimeSpanCollection не десериализуется. Исправленная версия метода:
|
Автор: gambit 19.8.2013, 12:41 |
Время в .net хранится в тиках. Это обычный long, и логичнее сериализовать его |