mscrack
@mscrack

Как объединить два сериализованных файла?

Есть некая программа в которой я реализвовал сохранение в файл введенных пользователем данных.

SaveFileDialog saveFileDialog = new SaveFileDialog
            {
                Filter = "DF файлы (*.df)|*.df"
            };

            if (saveFileDialog.ShowDialog() == true)
            {
                Mouse.SetCursor(Cursors.Wait);

                using (FileStream fs = new FileStream(saveFileDialog.FileName, FileMode.Create))
                {
                    /*var serializer = new XmlSerializer(typeof(ObservableCollection<ListBoxItemVM>));
                    serializer.Serialize(fs, DevList);*/
                    DataContractSerializer ser = new DataContractSerializer(typeof(ObservableCollection<ListBoxItemVM>));
                    ser.WriteObject(fs, DevList);
                }

                Mouse.SetCursor(Cursors.Arrow);
                MessageBox.Show(Application.Current.MainWindow, "Данные сохранены.", "Информация", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.Cancel);
            }

Из ListBoxItemVM я удалил некоторые поля, и закинул их отдельное окно. Теперь мне нужно при сохранении, сохранять оба файла. Я думаю сделать так, сохраняю один файл куда нибудь во временную папку, потом второй файл, затем записываю эти файлы в архив с именем который указал пользватель.
При открытии процесс обратный, разархивировал архив, получил 2 файла и каждый из них десериализовал.
В связи с малым опытом программирования на C# у меня возник вопрос, насколько этот способ правильный, может есть способ лучше, более оптимизированно это сделать.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
firedragon
@firedragon
Senior .NET developer
Создайте 3 класс с 2 полями и его сериализируйте. А то что вы придумали велосипед и костыли. Ну или делайте зип архив и пихайте туда оба файла
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы