Я разрабатываю игровой редактор в C++. Я реализовал механизм отражения с помощью DiaSDK. Теперь я хочу сохранить состояние объектов (например, Camera, Lights, Static mesh) в файле некоторого уровня с помощью сериализации. И позже можно получить их состояние через десериализацию. Сериализация объектов для меня не проблема. Во время десериализации я получаю тип класса в виде строки. Так как создать экземпляр объекта с использованием этой строки типа класса, чтобы я мог создавать объект этого конкретного типа.Тип класса при десериализации в C++
1
A
ответ
3
Когда вы сериализуете класс, вам нужно будет выпустить его тип времени выполнения, чтобы при десериализации вы могли создать экземпляр правильного типа. В противном случае невозможно определить, какой тип времени выполнения использовать.
Хорошая методика построения классов на основе строки типа заключается в построении хэш-карты из имен классов на фабричные объекты, способные создавать такой тип. Вам нужно будет создать это сопоставление, основанное на типах, которые вы, возможно, будете десериализовать. Если этот набор типов может измениться, то общий подход заключается в том, чтобы предоставить средства, с помощью которых завод может быть «зарегистрирован» или «удален из регистрации» с картой для определенного имени.
Смежные вопросы
- 1. Тип класса десериализации класса?
- 2. Ошибка При десериализации свойства класса Mongo db с C#
- 3. Изменение типов при двоичной десериализации в C#
- 4. Ошибка двоичной десериализации C#, модификация класса
- 5. десериализации JSON - неправильный тип
- 6. C# JSON десериализации для пользовательского класса
- 7. десериализации XML для класса # ребенка C
- 8. C# сериализации/десериализации массив пользовательского класса
- 9. C++ - Неполный тип класса?
- 10. тип класса цель C
- 11. Ошибка десериализации JSON в C#
- 12. Динамический тип класса в C++
- 13. Ось 1.6.1 при десериализации
- 14. C# тип охватывающего класса
- 15. Ошибка десериализации XML в C#
- 16. InvalidCastException при попытке десериализации JSON в C#
- 17. Получение InvalidOperationException при десериализации в C#
- 18. Ошибка при десериализации JSON в C#
- 19. OutOfMemoryException в C# при десериализации файла XML
- 20. SystemInvalidOperationException при попытке десериализации XML в C#
- 21. Тип System.Collections.Generic.IDictionary не поддерживается для десериализации массива
- 22. Ошибка при десериализации простой XML в объект класса
- 23. сериализации и десериализации (C#)
- 24. Ошибка десериализации - C#
- 25. Разбор десериализации JSON C#
- 26. Как сериализации/десериализации неизменный тип списка в C#
- 27. C++ Тип, который имеет тип класса
- 28. десериализации XML в C класса # не работает, как ожидалось
- 29. десериализации JSON данных в C#
- 30. десериализации JSON в C#
Я думаю, что он занимается созданием экземпляра из строки типа объекта, скажем, что вы знаете тип объекта «камера», и он хочет создать экземпляр этого класса. – Xinus
@ Xinus, ты прав. Я считаю, что вопрос был обновлен, так как я изначально опубликовал свой ответ, но с тех пор обновляюсь. –