182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 575
1

Десериализация объекта C# класса из файла

12.08.2019, 15:43. Показов 680. Ответов 6
Метки c#, c++qt, c++ (Все метки)

Добрый день, уважаемые коллеги.

Прошу совета

Есть бинарный файл, в котором существует сериализованный объект класса из C#. Это файл проекта, который хранит некоторые настройки и данные.

Возможно ли этот файл десериализовать в c++qt?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.08.2019, 15:43
Ответы с готовыми решениями:

Десериализация объекта из файла
Хотел написать простой дневник тренировок, всё вроде бы удалось, но возникли проблемы с считиванием...

Десериализация xml файла не инициализирует поля класса
Дорброго времени суток! Надеюсь кто-нибудь поможет разобраться в проблеме. При попытке загрузить...

Вызвать процедуру\функцию из другого объекта\класса. Из одного класса\объекта сделать два
Здравствуйте. Подскажите что не правильно делаю, и возможно ли вообще - вызвать процедуру\функцию...

Не могу вывести объекта класса из файла
Всем доброго времени суток! Не могу вывести объект класса из файла, когда записываю из файла в...

6
зомбяк
1564 / 1213 / 345
Регистрация: 14.05.2017
Сообщений: 3,935
12.08.2019, 16:00 2
Если формат неизвестен - нет. Если известен - да.
1
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 575
12.08.2019, 16:04  [ТС] 3
TRam_, формат известен.

Объект сериализуется так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
byte[] array = ObjectToByteArray(project);
File.WriteAllBytes("projectFileName", array);
...
private byte[] ObjectToByteArray(object obj)
        {
            if (obj == null)
                return null;
            BinaryFormatter bf = new BinaryFormatter();
            using (MemoryStream ms = new MemoryStream())
            {
                bf.Serialize(ms, obj);
                return ms.ToArray();
            }
        }
0
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.08.2019, 16:10 4
Не стоит в таки случаях использовать сериализацию в бинарный формат, стоит использовать текстовые типа json или xml.

Добавлено через 1 минуту
Цитата Сообщение от meridbt Посмотреть сообщение
Объект сериализуется так:
Нужно еще знать что как оно происходит.
1
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 575
12.08.2019, 16:16  [ТС] 5
Avazart,

Изначально стояла задача реализовать возможность сохранения и загрузки проекта из программы, написанной на C#. Не думал что потребуется замена технологии. Теперь вижу что ошибался. Нужно понять возможно ли теперь сделать обратную совместимость со старыми файлами проектов или придётся вводить новый формат для программы, написанной на Qt
0
Эксперт С++
8382 / 6144 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.08.2019, 17:00 6
Ну С++Qt ничего не знает о сериализация C#NET у него своя схема сериализация объектов в бинарный вид.

Не зная принципов сериализации как сказали - невыполнимо.
1
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 575
12.08.2019, 17:02  [ТС] 7
Avazart,

Понял, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2019, 17:02
Помогаю со студенческими работами здесь

JSON десериализация объекта
Доброго времени суток форумчане. ex = JsonConvert.DeserializeObject<EX_VAL>(result); foreach...

Десериализация объекта в массив
Извиняюсь за беспокойство. Нужна помощь в реализации десериализации объектов в массив....

Json десериализация объекта
Доброго времени суток. Уже 2 день изучаю json ответы от сервера(десериализацию json в объект c#)...

Запись и чтение объекта класса в файл и из файла
У меня есть std::list состоящий из объектов типа Person это база о людях. Нужно реализовать два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru