作者:江西花而美 | 来源:互联网 | 2022-12-07 17:26
我想为通用接口定义一个列表类型.存储泛型类型数据的树实现需要它.不幸的是,这个简单的解决方案不起作用:
uses
Generics.Collections;
type
ITreeNode = interface;
TTreeNodeList = TList>;
ITreeNode = interface
['{BC384FDB-4509-44D3-8946-E7ECD4417C4D}']
//...
function getChildNodes : TTreeNodeList;
function getData : T;
end;
TTreeNode = class ( TInterfacedObject, ITreeNode )
//...
end;
procedure foo;
var
node : ITreeNode;
begin
node := TTreeNode.create;
//...
end;
有没有诀窍来实现它?
1> Bitman..:
好.我找到了解决方案:
TTreeNodeList = class ( TList> )
end;
并不是
TTreeNodeList = TTreeNodeList>;