On 2013-11-13 05:07, Andrei Alexandrescu wrote:

Then how do you figure doing this:

class Streamable { ... }
class Foo : Streamable { ... }
class Bar : Streamable { ... }
string className = stream.readln();
Streamable obj = ...;

How do you create obj from className, when className could be either
"Foo" or "Bar"? In the general case there could be any number of
classes, in different modules.

This requires Object.factory (or equivalent) and that all subclasses have been registered as well. Since you don't know which subclass "className" represents you're forced to deserialize by doing this:

Streamable obj = deserialize!(Streamable)(className);

--
/Jacob Carlborg

Reply via email to