The Ohter way is to use Polymorphism:
Type tTestBase Field Name:String EndType Type tTestA Extends tTestBase Method New() name = "TESTA" EndMethod End Type Type tTestB Extends tTestBase Method New() name = "TESTB" EndMethod End Type Global Test:TList=New TList Test.addlast (New tTestA) Test.addlast (New tTestB) Test.addlast (New tTestB) Test.addlast (New tTestA) Test.addlast (New tTestB) For Local loop:tTestBase = EachIn Test Print loop.name 'common field for both types Next