有没有办法在Delphi 2010中实现静态多态?
答案 0 :(得分:6)
Delphi中无法实现静态多态性;泛型不是模板。与模板不同,泛型在声明时解析,而不是在实例化时解析。这就是为什么编译模块(* .dcu)只需要包含泛型实体的AST表示,而从未实例化的C ++模板声明构建AST几乎是不可能的。
答案 1 :(得分:3)
从Delphi 2009开始,有一些泛型。结合类或接口约束,您可以使用它们来实现静态多态性。
不幸的是,Delphi 2009中的泛型支持是非常错误的,因此您可能需要考虑使用Delphi 2010(重读您的问题,您似乎仍在使用D2010)