Wenn es denn sein muss, geht es auch mit case:
Delphi-Quellcode:
case PTypeInfo(TypeInfo (T)).kind of
tkInteger: ShowMessage ('Integer hier');
tkFloat: ShowMessage ('Float hier');
tkWString: ShowMessage ('String hier');
end;
Wenn Du auf eingene Klassen oder Interfaces prüfen willst, musst Du eben auf tkClass oder tkInterface prüfen und dann noch mal näher unterscheiden, worum es sich genau handelt.
Die Info, was unter "kind" alles fällt, ist im TTypeKind in der
Unit "System.TypInfo" beschrieben.