Вариант подхода сериализации для тех, кто использует ServiceStack:
var child = baseObject.ConvertTo<ChildType>();
или более подробный:
var child = baseObject.ToJson().FromJson<ChildType>();
Сериализация ServiceStack может быть очень быстрой и все, но ясно, что это не решение для массовых преобразований в передачах с малой задержкой или для очень сложных типов. Это, вероятно, очевидно для любого, кто использует ServiceStack, но подумал, что уточнить в ожидании комментариев.