有没有办法确定作为方法参数传递的变量的类型?考虑以下类:
TSomeClass = class
procedure AddToList<T: TDataType; U: TListClass<T>>(Element: T; List: U);
end;
使用方法实现
procedure TSomeClass.AddToList<T, U>(Element: T; List: U);
begin
if Element is TInt then
List.AddElement(TInt.Create(XXX))
else if Element is TString then
List.AddElement(TString.Create(YYY));
end;
TInt.Create()和TString.Create()拥有不同的参数集,但它们都继承自TDataType。
现在,我知道is
运算符不能像这样使用,但是否有合法的替代方案可以实现我在这里所要求的功能呢?