Since D uses the single inheritance model for classes, I wonder if it is possible to write a class then extract the interface from it?

e.g.,

class myclass
{
   public void foo() { writeln("adf"); }
}

mixin!(extractInterface!(myclass, myinterface));


Where the mixin creates the interface as if I typed it by hand:

interface myinterface
{
   void foo();
}

This would greatly simplify having to start writing from a base interface then add the class. It would also let one do multiple inheritance from classes that are already defined.

Since every class must have a well defined interface, this seems like it should be possible and relatively easy using reflection. A bad idea?







Reply via email to