The general approach is via recursion. You handle all the base types (int, string etc), then if you've got an object type left, recurse.
I mentioned Brucey's mod as the code is all there - and it's one of the few recursive Reflection code samples I've seen that properly handles circular references.
TTypeId has a Name() method. Some snippets:
I mentioned Brucey's mod as the code is all there - and it's one of the few recursive Reflection code samples I've seen that properly handles circular references.
TTypeId has a Name() method. Some snippets:
Local object_id:TTypeId=TTypeId.ForObject(_object:Object) ' Type name - float, int, string etc Local s_name:String = object_id.Name() If object_id.ExtendsType(ArrayTypeId) Then... If object_id.ExtendsType(TTypeId.ForName("TList")) Then...