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.总结
以上是内存溢出为你收集整理的在Delphi中将TObjectList祖先转换为泛型集合全部内容,希望文章能够帮你解决在Delphi中将TObjectList祖先转换为泛型集合所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)