delphi - TStringList 后代,每个元素都有 id 和 subid

标签 delphi data-structures delphi-xe

我需要创建 TStringList 类的后代,它具有与 TstringList 类相同的功能,但列表中的每个字符串/对象都有一个 id 和 subid 元素。

这可以通过继承 TStringList 类来实现吗?或者我需要创建一个新类并实现我需要的行为。

LE:我还需要 Objects 属性,因此我无法在列表中存储指向结构的指针。

最佳答案

通过检查 TStringList 类源代码,我认为可以通过添加另一个 FListIDs: PStringItemListIDs 来直接继承 TStringList 类(类似于 FList: PStringItemList)其中TStringItemIDsFID, FSubID: Integer的记录(假设数据类型为Integer)。

接下来,您需要重写涉及 FList 的每个 TStringList 方法,即:AddClear删除插入等...您将在其中处理添加或删除的FListID

最后使用 getter 和 setter 函数创建索引属性:IDSubID。例如:

property ID[Index: Integer]: Integer read GetID write SetID;
property SubID[Index: Integer]: Integer read GetSubID write SetSubID;

getter 和 setter 函数将获取或设置 FListIDs

关于delphi - TStringList 后代,每个元素都有 id 和 subid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070726/

相关文章:

delphi - OpenGL与Delphi : Offscreen Rendering of an Image to File

c++ - 单链表插入和删除的时间复杂度

model-view-controller - 当模型是离散的时如何处理中间状态的动画

algorithm - 排列数字,使 block 中的数字是唯一的

德尔福。如何在调用另一个模态表单后立即关闭模态表单

delphi - 使base64解码的文本可见而不改变 "windows language for non unicode program settings"“

delphi - 编译器警告 "return value might be undefined"

德尔福64位: finding incorrect casts?

Delphi:简单的字符串加密

delphi - 使用delphi与mirc客户端通信