我正在使用德尔福。我有一个根类和许多来自根的派生类,类的名称是TROOT,TA,TB,TC ...在代码中,我有一些代码可以通过以下代码控制程序的流程
var
obj :TROOT;
begin
if ((obj is TA) or (obj is TB) or (obj is TC) or (obj is TD)) then
begin
// some other codes here
end
end;
这段代码运行良好,但后来我扩展了我的代码,因此更多的子类派生自 TROOT,并且 swtich 出现在程序中的多个位置。有什么办法可以将类类型放入一个集合或数组中,并有一些类似下面的伪代码,这样我就不必在扩展代码时到处修改?
classarray = {TA, TB, TC, TD, TE, TF};
if (obj in classarray) then
begin
// put my code here
end
谢谢。