Reflection in D

rumbu via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jan 28 01:05:13 PST 2017


On Saturday, 28 January 2017 at 07:03:51 UTC, medhi558 wrote:

>     public static NetworkMessage GetInstance(string id)
>     {
> 	auto v = (id in ProtocolMessageManager.m_types);
> 	if (v !is null)
> 	 return 
> cast(NetworkMessage)ProtocolMessageManager.m_types[id].create();
> 	else
>          return null;
>     }
> }

As long as your class has a default constructor, you can use 
directly Object.factory(id):

public static NetworkMessage GetInstance(string id)
{
   return cast(NetworkMessage)(Object.factory(id));
}


More information about the Digitalmars-d-learn mailing list