I attempted to write my own inheritor of IDynamicTypeSerializer for handling DataContract objects. It would be very similar to the GenericSerializer. Some things that caused me a problem: the Serializer.Settings and Serializer.GetIndirectData are both internal, making it impossible for me to duplicate the mechanism in GenericSerializer. It would be nice if GenericSerializer wasn't sealed and had virtual methods for GetFieldInfos and Handles.