ダウンキャストを使わずに済むようにクラスを作る

でなければ

override string toTypeName()
{ return "DerivedClass"; }