Вы говорите, что вам трудно привести к базовому типу, но B - это не базовый тип: это подтип.Если это приведение завершается неудачно, это означает, что десериализация вернула A, но не B. Чтобы сериализатор вернул B, в данных должно быть очевидно, что равно a B, поэтому в основном:сериализованный Б.