我有以下定义。
type
TOmniTaskDelegate = reference to procedure(const task: IOmniTask);
我应该使用什么类型的容器(在D2009中应该支持)来存储TOmniTaskDelegate实例的列表?目前我正在使用array of TOmniTaskDelegate
,但我对此并不满意。
答案 0 :(得分:8)
我会使用TList<TOmniTaskDelegate>
。由于使用泛型,这是类型安全的,因此它将正确处理其成员的生命周期问题。
答案 1 :(得分:3)
编辑:Delphi 2009包含通用TList<T>
,我假设它是使用array of
实现的,就像Delphi 2010中的那样。这使得TList<T>
最佳选择!我的原始答案仍然存在,因为它解释了为什么array of
是一个很好的数据结构以及为什么不使用它是一个很大的麻烦。
您对array of Anonym
的选择对我来说非常好,因为:
如果您使用其他任何内容进行实施,您需要自己完成参考文件的最终确定。例子: