Reflection question
BlitzMax Forums/BlitzMax Programming/Reflection question
| ||
I want to set all fields in an object of type "TBuffer" to Null. Is this correct?:Method FreeBuffers() {hidden} Local typeid:TTypeId Local fieldtypeid:TTypeId Local f:TField Local o:Object typeid=TTypeId.ForObject(Self) For f=EachIn typeid.fields() o=f.get(Self) If o fieldtypeid=TTypeId.ForObject(o) If fieldtypeid.name()="TBuffer" f.Set(Self,Null) EndIf EndIf Next GCCollect() EndMethod |
| ||
Change typeid.Fields() to typeid.EnumFields() and it should be correct, although this will be significantly slower than just setting the fields to null normally. |