|
XmlSerializer
|
|||
---|---|---|---|
#18+
Добрый день. Есть список типа List<Building> buildings. public abstract class Building { public double Cost { get; set; } public ushort CadasterNumber { get; set; } public byte CountFloors { get; set; } public string Type { get; set; } abstract public double AverageCost(double payment); } При сериализации выдает ошибку "Ошибка при создании документа XML.". string output = "D:\\output.xml"; using (FileStream fs = new FileStream(output, FileMode.Create, FileAccess.Write)) { XmlSerializer serializer = new XmlSerializer(buildings.GetType()); serializer.Serialize(fs, buildings); } Что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 10:44 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
pijon4ik17, А разве можно создать экземпляр абстрактного класса? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 10:46 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
А где вы видите создание экземпляра класса Building? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 10:53 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
pijon4ik17, XmlSerializer внутри себя делает проверки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:06 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
ЕвгенийВ , то есть список типа Building я создать могу, но сериализовать такой список не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:15 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
pijon4ik17ЕвгенийВ , то есть список типа Building я создать могу, но сериализовать такой список не получится? Создать можно, но добавить в него можно только не абстрактных наследников Building! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:23 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
Так и есть.Список состоит из неабстрактных наследников.Я не спрашивал почему не могу туда добавить запись. Суть вопроса была: Почему не сериализует существующий заполненный список? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:30 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
Сериализация через BinaryFormatter проходит успешно. IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(output, FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, buildings); Но нужна XmlSerializer. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:35 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:40 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
Arm79, и ведь что характерно - если вглядеться в детали сообщения об ошибке - там это иностранным по белому написано... Ошибка автора только одна - он "не читатель" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:49 |
|
XmlSerializer
|
|||
---|---|---|---|
#18+
buserArm79, и ведь что характерно - если вглядеться в детали сообщения об ошибке - там это иностранным по белому написано... Ошибка автора только одна - он "не читатель" :) Ну дык, я и посмотрел сообщение об ошибке :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2015, 11:51 |
|
|
start [/forum/topic.php?fid=20&msg=38858190&tid=1402002]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
110ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 214ms |
0 / 0 |