gpt4 book ai didi

delphi - 如何在 Delphi 10.2 中创建通用接口(interface)的列表?

转载 作者:行者123 更新时间:2023-12-01 19:18:22 25 4
gpt4 key购买 nike

我想为通用接口(interface)定义一个列表类型。存储通用类型数据的树实现需要它。不幸的是,这个简单的解决方案不起作用:

uses
Generics.Collections;

type
ITreeNode<T> = interface;

TTreeNodeList<T> = TList<ITreeNode<T>>;

ITreeNode<T> = interface
['{BC384FDB-4509-44D3-8946-E7ECD4417C4D}']
//...
function getChildNodes : TTreeNodeList<T>;
function getData : T;
end;

TTreeNode<T> = class ( TInterfacedObject, ITreeNode<T> )
//...
end;

procedure foo;
var
node : ITreeNode<cardinal>;
begin
node := TTreeNode<cardinal>.create;
//...
end;

有什么技巧可以实现吗?

最佳答案

好的。我找到了解决方案:

TTreeNodeList<T> = class ( TList<ITreeNode<T>> )
end;

而不是

TTreeNodeList<T> = TTreeNodeList<ITreeNode<T>>;

关于delphi - 如何在 Delphi 10.2 中创建通用接口(interface)的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51850932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com