28

是否有与 c# 能力等效的 Dart 语法来指定泛型类型的类型约束,例如在类似 C# 的语法中where TBase is SomeType

class StackPanel<TBase> extends Panel<TBase> where TBase : SomeType{

}
4

1 回答 1

33

您可以像这样指定类型约束:

class StackPanel<TBase extends SomeType> extends Panel<TBase> {
}

语言规范说:

类型参数T可以后缀为extends指定上限的子句T。如果不存在 extends 子句,则上限Object。如果类型参数是其上限的超类型,则这是一个静态类型警告。类型变量的边界是类型注释的一种形式,对生产模式的执行没有影响。

于 2013-09-09T13:11:17.963 回答