Когда вы сериализуете класс, вам нужно будет выдать его тип времени выполнения, чтобы вы могли создать экземпляр правильного типа при десериализации. В противном случае невозможно определить, какой тип среды выполнения использовать.
Хорошая техника для создания классов на основе строки типа - это создание хэш-карты от имен классов до фабричных объектов, способных создавать экземпляры такого типа. Вам нужно будет создать это отображение на основе типов, которые вы можете десериализовать. Если этот набор типов может измениться, то общий подход заключается в предоставлении средства, с помощью которого фабрика может быть «зарегистрирована» или «снята с регистрации» с помощью карты для определенного имени.