在Delphi中将TObjectList祖先转换为泛型集合
发布时间:2020-12-15 09:05:29 所属栏目:大数据 来源:网络整理
导读:我上了课 TMyAwesomeList = class(TObjectList) 哪个 TAwesomeItem = class(TPersistent) 其中TAwesomeItem几乎是一个抽象类 TAwesomeItem1 = class(TAwesomeItem) TAwesomeItem2 = class(TAwesomeItem) TAwesomeItem3 = class(TAwesomeItem) TAwesomeItem3a
我上了课
TMyAwesomeList = class(TObjectList) 哪个 TAwesomeItem = class(TPersistent) 其中TAwesomeItem几乎是一个抽象类 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(或添加几个子类)来实现这一目标. 解决方法
根据您的评论,您似乎可以直接使用TObjectList.
var MyAwesomeList1: TObjectList<TMyAwesomeItem1>; MyAwesomeItem1: TMyAwesomeItem1; begin MyAwesomeList1 := TObjectList<TMyAwesomeItem1>.Create; try // populate the list... for MyAwesomeItem1 in MyAwesomeList1 do ... finally MyAwesomeList1.Free; end; end; ……和TMyAwesomeItem2等相同 type TMyAwesomeList1 = TObjectList<TMyAwesomeItem1>; TMyAwesomeList2 = TObjectList<TMyAwesomeItem2>; // etc. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |