Scala 抽象类型是否有与参数化类型类似的清单?
我想知道您是否可以在Scala中编写如下内容:Scala 抽象类型是否有与参数化类型类似的清单?,scala,manifest,abstract-type,Scala,Manifest,Abstract Type,我想知道您是否可以在Scala中编写如下内容: abstract class Foo trait Bar { type Foo_Tpe <: Foo : Manifest[Foo_Tpe] def fooClass = classOf[Foo_Tpe] } 抽象类Foo 特征条{ 键入Foo_TpeNo,但您可以要求子类提供它: trait Bar { type Foo_Tpe <: Foo protected def fooManifest: Mani
abstract class Foo
trait Bar {
type Foo_Tpe <: Foo : Manifest[Foo_Tpe]
def fooClass = classOf[Foo_Tpe]
}
抽象类Foo
特征条{
键入Foo_TpeNo,但您可以要求子类提供它:
trait Bar {
type Foo_Tpe <: Foo
protected def fooManifest: Manifest[Foo_Tpe]
def fooClass = fooManifest.erasure
}
特征条{
键入Foo_Tpe是和否。您可以执行以下操作:
val man = manifest[Foo_Tpe]
在这一点上,它会告诉您它没有相应的清单。我希望它由Scala编译器提供,而不是由子类型定义。您不能让编译器从Bar
中提供它。