Help with reflections

BlitzMax Forums/BlitzMax Beginners Area/Help with reflections

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:
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...