3
鉴于这个例子中引用抽象类型:从参数化类型
abstract class Base { type Value }
case object Foo extends Base { type Value = String }
case class Bar[A <: Base](a: A, value: A#Value)
val x = Bar(Foo, "It's a Foo") // Won't compile with found String required ?#Value
我想有该类型约束为value
是相同类型A
。即String
因为我通过了Foo
。我知道我可以用不同的方式进行建模,但很高兴知道它是否可能?
太棒了!非常感谢你。 – chrsan