(De)Serializing interfaces

Kapps via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Aug 22 20:25:24 PDT 2015


On Saturday, 22 August 2015 at 19:14:16 UTC, nims wrote:
> I think interfaces are very powerful and I heavily use them. 
> The only problem I have with them is that 
> serializing/deserializing them to XML or JSON doesn't seem to 
> work. So far I got to try Orange and painlessjson. Using Orange 
> all I got was a lot of compiler errors. Painlessjson did 
> compile normally but just ignores all interface class members.

I've never used Orange, but one thing you could try is casting 
your object from MyInterface to Object, and registering the type 
Foobar like in 
http://dsource.org/projects/orange/wiki/Tutorials/SerializeBase, 
then serializing/deserializing it as Object rather than 
MyInterface. I'm not sure if this will work, but it's worth a try 
if it doesn't handle interfaces. Interfaces are a bit odd in some 
ways, as they are not necessarily classes (and thus not 
implicitly convertible to Object) in situations like with COM / 
extern(C++).


More information about the Digitalmars-d-learn mailing list