3

我仍在努力掌握 Scala 语言,所以请耐心等待我和我所有的问题。

我可以从一个类型参数中引用另一个类型参数的抽象类型吗?例如,有没有一种方法可以使以下代码工作?我在这里试图实现的本质是 C 的 MAP 参数的 KEY 应该是参数 T 的 SomeType。

trait T1 { 
    type SomeType;
}

trait MyMap[KEY, VALUE] { ... }


class C { 
  def m[T <: T1, MAP <: MyMap[T.SomeType, Int]] { ... }
}    
4

1 回答 1

6

您需要类型投影

def m[T <: T1, MAP <: MyMap[T#SomeType, Int]]
于 2011-09-28T09:31:45.363 回答