I want to implement operation feasible?

Brian via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Dec 15 20:45:30 PST 2014


package com.kerisy.mod.base

interface BaseMod
{
	auto getInstance();
}

package com.kerisy.mod.a

class A : BaseMod
{
	A getInstance()
	{
		return (new A);
	}
	
	void hello()
	{
		// in A
		writeln("in A");
	}
}

package com.kerisy.mod.b

class B : BaseMod
{
	B getInstance()
	{
		return (new B);
	}
	
	void hello()
	{
		// in B
		writeln("in B");
	}
}

import std.stdio;
import com.kerisy.mod.a;
import com.kerisy.mod.b;

int main(string[] argv)
{
	string packageClass;
	
	packageClass packageClass = "mod.forum.controller.forum.A";
	BaseMod modObje = cast(BaseMod)Object.factory(packageClass);
	auto a = modObj::getInstance();
	Object.callMethod(a, "hello");
	
	packageClass packageClass = "mod.forum.controller.forum.A";
	BaseMod modObje = cast(BaseMod)Object.factory(packageClass);
	auto a = modObj::getInstance();
	Object.callMethod(a, "hello");
	
	return 0;
}


More information about the Digitalmars-d-learn mailing list