在Delphi中将TObjectList祖先转换为泛型集合

在Delphi中将TObjectList祖先转换为泛型集合,第1张

概述我上了课 TMyAwesomeList = class(TObjectList) 哪个 TAwesomeItem = class(TPersistent) 其中TAwesomeItem几乎是一个抽象类 TAwesomeItem1 = class(TAwesomeItem) TAwesomeItem2 = class(TAwesomeItem) TAwesomeItem3 = class(TAw 我上了课

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祖先转换为泛型集合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存