case文使うような箇所にはvirtual関数使えってことでしょうね。
自分もふつーそうしますが、対象クラスを書き換えられなかったり書き換えたくなかったりして、
時々if Obj is XXX then … else if Obj is YYY then … なんて書かざるを得ないので
112で書いたような機能が欲しいなーと思うこともしばし。
実際except節ではそういうことができるので、普通の分岐文として書けてもいいじゃないですか、ねえ?

//実はDel.NETでclass helperが使えるようになれば解決だったり