Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   Подскажите плз по C# XML сериализация странное исключение (http://forums.kuban.ru/f1024/podskazhite_plz_po_c_xml_serializaciya_strannoe_isklyuchenie-3301695.html)

megabax 13.11.2012 19:34

Подскажите плз по C# XML сериализация странное исключение
 
Добрый день. При попытке выполнить вот такой код

private void exportNetToXMLToolStripMenuItem_Click(object sender, EventArgs e)
**
saveFileDialog1.Title = "Сохранение нейросети...";
saveFileDialog1.Filter = "Файлы XML|*.xml|Все файлы|*.*";
XmlSerializer xml = new XmlSerializer(typeof(NeuralNetwork));
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
**
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, false, Encoding.Default);
xml.Serialize(sw, _network);
sw.Close();
**
**

На строке XmlSerializer xml = new XmlSerializer(typeof(NeuralNetwork));
выскаивает исключение:

**"Требуется реализовать для System.Collections.Generic.LinkedList`1[[NeuralNetwork.NeuralLayer, NeuralNetwork, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] функцию доступа по умолчанию, т.к. он наследуется из ICollection."**

Подскажите плз, как лечить?

vxg 14.11.2012 12:24

я как бы вообще ни в C#, но подозреваю, что вы должны были определить для объекта который собираетесь сериализовать метод который отвечает за собственно сериализацию. хотя может C# как то сам догадывается как у вас объект устроен, хз.

spaceman 15.11.2012 14:22

За сериализацию по идее отвечает атрибут [Serializable] класса NeuralNetwork. Только неизвестно, задан ли у автора этот атрибут...

megabax 15.11.2012 17:15

2, вообще атрибут [Serializable] задан.
Чтения и запись в бинарники отлично работает. Все проблемы начинаються с XML. И, к сожалению, XML все таки нужно, так как я планирую сделать рефакторинг программы, в частности, многие классы выделить в отлеьную библиотеку dll (они будут использованы в дургих проектах). Такми образом, классы типа NeuralNetwork во первыхх, доложны будут открываться в других проетах, а во вторых, мне придется конверировать старыте сохраненные объекты в новый формат, так как после того как я перенесу NeuralNetwork в длл-ку, то сохраненные ранее данныые не будут загружаться в програму. Думал, смогу перенести их при помощи XML, Но хз, может, стоит посмотреть в другую сторону?

TVV1 15.11.2012 20:50

[url]http://stackoverflow.com/questions/2483268/linkedlist-cannot-be-serialised[/url]


Текущее время: 03:30. Часовой пояс GMT +3.