如何将一组对象传递给函数进行创建?

Tim*_*Tim 0 delphi delphi-2007 variable-initialization open-array-parameters

所以我在Delphi 2007工作,我正在清理我的代码.我注意到在很多程序中我声明了许多相同类型的不同变量.

例如我现在正在查看的一个程序我声明了4个不同的字符串列表,我必须var1 := TStringList.Create为每个列表输入.

我有想法制作一个程序,它接受一个开放的变量数组,我的4个变量列表,然后创建它们.电话会是这样的

CreateStringLists([var1,var2,var3,var4]);
Run Code Online (Sandbox Code Playgroud)

但据我所知,你不能通过引用传递开放数组,因此不能做我希望的事情.有没有人对此有任何有趣的想法?

T.E*_*.D. 5

通常在重构中,您需要对代码进行非常广泛的了解.为什么要"清理"这样的几个操作,什么时候你根本不应该做任何这些操作呢?

在这种情况下,我似乎怀疑你有一个例程需要处理4个单独的字符串列表.这似乎不太可能具有良好的凝聚力.也许它应该是一个称为四次的字符串列表处理例程.所以我真的很想看看整个例行程序,而不是评论如何使这个例子变得更漂亮.