Serializer.registerDeserializer

Registers a deserializer for the given type.

The given callback will be called when a value of the given type is about to be deserialized. This method can be used as an alternative to register. This method can also be used as an alternative to Serializable.fromData.

This is method should also be used to perform custom deserialization of third party types or when otherwise chaining an already existing type is not desired.

Parameters

func void function

the callback that will be called when value of the given type is about to be deserialized

Examples

class Base {}
class Foo : Base {}

auto archive = new XmlArchive!();
auto serializer = new Serializer(archive);

void func (ref Base value, Serializer serializer, Data key) {
    // perform deserialization
}

Serializer.registerDeserializer!(Foo)(&func);

See Also

register registerSerializer Serializable.fromData

Meta