JVic Asked:2020-03-15 13:59:46 +0000 UTC2020-03-15 13:59:46 +0000 UTC 2020-03-15 13:59:46 +0000 UTC delphi泛型中的通配符 772 我知道在 JAVA 中可以用掩码声明一个泛型List<? extends Number>。在DELPHI上是否有这样实现的可能? delphi 1 个回答 Voted Best Answer teran 2020-03-15T23:21:14Z2020-03-15T23:21:14Z 这种方法在 Delphi 中称为约束。 作为约束,您可以指定T参数的类型为: 支持指定接口TMyList<T: IMyInteface> 是来自指定的派生(继承自)类TControlList<T:TWinControl> 有一个默认构造函数(公共的,无参数)TTest<T:constructor> 是一个类TMyObjectList<T:class> 是一个value类型,即结构体、数字等。TValueList<T:record> 您还可以通过组合其中一些约束来连续指定多个约束(显然您不能写class, record)。例如,TTest<T: IMyInterface1, IMyInterface2>(在这种情况下,必须满足两个条件)。
这种方法在 Delphi 中称为约束。
作为约束,您可以指定
T
参数的类型为:TMyList<T: IMyInteface>
TControlList<T:TWinControl>
TTest<T:constructor>
TMyObjectList<T:class>
value
类型,即结构体、数字等。TValueList<T:record>
您还可以通过组合其中一些约束来连续指定多个约束(显然您不能写
class, record
)。例如,TTest<T: IMyInterface1, IMyInterface2>
(在这种情况下,必须满足两个条件)。