我有一类在Delphi
TMyAwesomeList = class(TObjectList)
持有
TAwesomeItem = class(TPersistent)
其中TAwesomeItem是相当多的
TAwesomeItem1 = class(TAwesomeItem)
TAwesomeItem2 = class(TAwesomeItem)
TAwesomeItem3 = class(TAwesomeItem)
TAwesomeItem3a = class(TAwesomeItem3)
和抽象类等等(大约30个有少量中间抽象类的子类)完成某些对象关联nal建模我在一年前实施,预计最终将从Delphi 7转换到2009年(不久将推出XE2)。
的代码仍然工作在2009年德尔福,但我想做一个
for AwesomeItem3a in AwesomeList do
begin
//something awesome
end;
,我不知道如何去重组TMyAwesomeList(或增加几个子类),使这项工作。
是名单均匀,即得。所有项目都是相同的具体类型?如果是这样,你可以使用'type TMyAwesomeList1 = TObjectList; TMyAwesomeList2 = TObjectList ;'等。否则,您需要指定您希望'for ... in'循环的工作方式。 –
原始TAwesomeList中没有太多东西,除了4个构造函数使用正确的TAwesomeItem类型填充列表并覆盖了我可以用泛型消除的GetItem/SetItem方法。是的,我认为它们都可以是相同的类型,最初我没有记住它的编程,但从来没有这样用过。 –