我有一个类
TMyAwesomeList = class(TObjectList)
这个容器包含了
TAwesomeItem = class(TPersistent)
是一个抽象类,主要用于… TAwesomeItem1 = class(TAwesomeItem)
TAwesomeItem2 = class(TAwesomeItem)
TAwesomeItem3 = class(TAwesomeItem)
TAwesomeItem3a = class(TAwesomeItem3)
我实现了一种对象关系建模技术,涉及大约30个子类和一些中间抽象类,用于预期将从Delphi 7转换到2009(并很快转换为XE2)。
该代码在Delphi 2009中仍然可以工作,但我想要进行一次
for AwesomeItem3a in AwesomeList do
begin
//something awesome
end;
我不知道如何重构TMyAwesomeList(或添加多个子类)以使其正常工作。
type TMyAwesomeList1 = TObjectList<TMyAwesomeItem1>; TMyAwesomeList2 = TObjectList<TMyAwesomeItem2>;
等。否则,您需要指定您期望for ... in
循环如何工作。 - Ondrej Kelle