Сохранения классов в файл

279
20 мая 2017, 16:14

Есть класс

public class Element
{
    public int x;        
    public int y;        
    public Element Next;
    public Element() { }
    public Element(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

и есть Лист экземпляров этого класса. Можно ли сохранить как-то сохранить этот лист, чтобы потом открыть его? Пытался сделать через xml но все попытки приводили к System.InvalidOperationException в System.Xml.dll

Answer 1

В таком виде все работает:

List<Element> list = new List<Element>; // заполненный список
try
{
    Serialize(list, dialog.FileName);
    var newlist = Deserialize(dialog.FileName);
}
catch (Exception ex)
{
    // обрабатываем исключение
}
public static void Serialize(List<Element> list, string file)
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Element>));
    string xml;
    using (StringWriter stringWriter = new StringWriter())
    {
        xmlSerializer.Serialize(stringWriter, list);
        xml = stringWriter.ToString();
    }
    File.WriteAllText(file, xml, Encoding.Default);
}
public static List<Element> Deserialize(string file)
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Element>));
    List<Element> list;
    using (StreamReader sr = new StreamReader(file))
    {
        list = (List<Element>)xmlSerializer.Deserialize(sr);
    }
    return list;
}
READ ALSO
Запись файла с содержимым кодом php [PHP]

Запись файла с содержимым кодом php [PHP]

Здравствуйте, при попытке записать PHP код в файл через file_put_contentsНичего не происходит, спит 3 минуты и пишет TIME OUT

278
Отложенная загрузка в Yii2

Отложенная загрузка в Yii2

Разбираюсь с этим фреймворкомНе могу понять как правильно сделать отложенную загрузку

249
не работает Yii::app()

не работает Yii::app()

Всем привет, у меня в файле site/config/paramsphp

322
Как использовать twig в yii2 для шаблонов писем?

Как использовать twig в yii2 для шаблонов писем?

Пытаюсь настроить yii2, чтобы можно было отправлять письма, используя шаблоны (view) на twig

412