我经常使用 TList: 的扩展器TList<SomeClass1>
等TList<SomeClass2>
。
几乎每次需要清空它们,删除它们存储的所有对象。
我通过为每个特定的 TList 编写特定的过程来做到这一点。例如:
while Dirs.Count > 0 do
begin
Dirs.Items[0].Free;
Dirs.Delete(0);
end;
有没有办法编写通用程序?像这样的东西:
procedure EmptyAList(_List : TClass; _Object : TClass);
begin
_Object(_List.Items[0]).Free;
_List.Delete(0);
end;
或任何类似的东西。