【发布时间】:2011-10-13 08:45:06
【问题描述】:
我有以下定义。
type
TOmniTaskDelegate = reference to procedure(const task: IOmniTask);
我应该使用什么类型的容器(应该在 D2009 中支持)来存储 TOmniTaskDelegate 实例列表?目前我正在使用array of TOmniTaskDelegate,但我对此并不满意。
【问题讨论】:
-
你为什么对数组不满意?
-
a) 因为我想将责任委托给具有明确定义接口的容器,并且 b) 因为我现在每次向其添加内容时都会调整数组的大小。没错,我可以在数组周围编写一个很好的包装器,它会知道当前大小和分配的大小等,但是我已经在重新实现 TSomeList
并且我宁愿使用 Delphi 提供的东西(假设存在这样的东西) . -
什么是
TSomeList<T>?你不能用TSomeList<TOmniTaskDelegate>吗? -
TSomeList = TList、TObjectList 或 TIDontKnowWhatElseIsSupportedInD2009List
标签: delphi containers anonymous-methods