Generics Dart:如何将泛型方法绑定到嵌套的泛型参数?

Generics Dart:如何将泛型方法绑定到嵌套的泛型参数?,generics,dart,Generics,Dart,有没有办法创建绑定到泛型参数的泛型方法?下面是我的例子: class Taste {} class Vanilla extends Taste {} class Chocolate extends Taste {} class冰淇淋{ int-tasteLevel=0; //只有这种味道可以用 空洞增强味(T味){ tasteLevel++; } } 巧克力冰淇淋类冰淇淋{} VanillaIceCream类扩展冰淇淋{} 下面是实现泛型方法enhanceTastes()的类。 是否可以

有没有办法创建绑定到泛型参数的泛型方法?下面是我的例子:

class Taste {}

class Vanilla extends Taste {}

class Chocolate extends Taste {}
class冰淇淋{
int-tasteLevel=0;
//只有这种味道可以用
空洞增强味(T味){
tasteLevel++;
}
}
巧克力冰淇淋类冰淇淋{}
VanillaIceCream类扩展冰淇淋{}
下面是实现泛型方法enhanceTastes()的类。 是否可以将方法参数taste绑定到_icecreamlisttaste? 也许是定义“T=I”的一种方法,因此“E”的类型在某种程度上是由“T”派生的

class冰淇淋盒{
List _iceCreamList=List();
//通用方法
空洞强化口味(E口味){
用于(冰淇淋列表中的T冰淇淋){
冰淇淋。增强味道(味道);
}
}
}
这是测试box.enhanceTages(香草())不应被允许使用

class TestBox {
  void test() {
    IceCreamBox<ChocolateIceCream> box = IceCreamBox<ChocolateIceCream>();
    box.enhanceTastes(Chocolate()); //OK
    box.enhanceTastes(Vanilla()); //I WANT THE COMPILER TO COMPLAIN! BECAUSE THIS IS A CHOCOLATE ICE CREAM BOX!
  }
}
类测试盒{
无效测试(){
冰淇淋盒=冰淇淋盒();
box.enhanceTages(巧克力());//好的
box.enhanceTastes(Vanilla());//我想让编译器抱怨!因为这是一个巧克力冰淇淋盒!
}
}
class IceCreamBox<T extends IceCream> {
  List<T> _iceCreamList = List<T>();

  //GENERIC METHOD
  void enhanceTastes<E extends Taste /*of _iceCreamList*/>(E taste) {
    for (T iceCream in _iceCreamList) {
      iceCream.enhanceTaste(taste);
    }
  }
}
class TestBox {
  void test() {
    IceCreamBox<ChocolateIceCream> box = IceCreamBox<ChocolateIceCream>();
    box.enhanceTastes(Chocolate()); //OK
    box.enhanceTastes(Vanilla()); //I WANT THE COMPILER TO COMPLAIN! BECAUSE THIS IS A CHOCOLATE ICE CREAM BOX!
  }
}