我有一个类 List 的通用类tMyList<B>
,其方法 Each() 迭代每个元素并tMyList<A>.enumProc
使用参数调用匿名过程 - 当前类型的项目<B>
。我想将该类实现为接口,以便于生命周期管理。
问题是我不能在iMyList<A>
接口中声明 Each 方法,因为tMyList<A>.enumProc
类型未知。据我所知接口不支持嵌套类型?
这是代码:
tMyList<B> = class;
iMyList<A> = interface
procedure each(enumProcedure: iMyList<A>.enumProc); // ERROR - Undeclared identifier: 'enumProc'
end;
tMyList<B> = class(tInterfacedObject, iMyList<B>)
type
enumProc = reference to procedure(item: iMyList<B>);
public
procedure each(enumProcedure: enumProc);
end;
*
在这种特殊情况下,实施枚举器不是一种选择