这是我想做的代码:

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中可以这样做吗?

谢谢你的时间!

最佳答案

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

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

10-01 08:37