Dart-具有泛型的类可以扩展具有第二泛型的第二类-这可能吗?

时间:2019-03-15 19:03:09

标签: generics dart

这是我想做的代码:

abstract class StateBase<E> {
  void restoreState( E target );
  void saveState( E source );
}

class StateController<T extends StateBase<E>> {
  final List<T> _states = [];

  void takeSnapshot( E target ) { ... }
  void addState( T state ) { ... }

但是在这一行:

class StateController<T extends StateBase<E>> {

当我添加位时,它给我错误:

The name 'E' isn't a type so it can't be used as a type argument.  

动态类型化意味着我可以不用'E'位,而只需使用'StateBase',但是我更喜欢类型检查,我可以使用第二个通用E。

在Dart中可以做到吗?

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

只需添加E作为另一个类型参数:

class StateController<E, T extends StateBase<E>>