我在代码中创建了以下简单类,并收到“TObject 不是有效约束”错误消息。
TTest = class
class function Test<T:TObject>(Dummy: integer): string;
end;
...
class function TTeste.Teste<T>(Dummy: integer): string;
begin
Result := 'Compiled';
end;
我做错了什么?这可能吗? (您可以包含 D2010 之后版本上可用的选项,因为我们将在接下来的 2 周内收到 XE2 许可证)。
最佳答案
尝试class
约束:
TTest = class
class function Test<T:class>(Dummy: integer): string;
end;
它可能不仅接受普通类,而且还接受与该约束的接口(interface)(在 C# 中确实如此,Delphi 泛型模仿 C# 泛型)。
关于delphi - 是否可以创建通用的约束方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823384/