匿名类型明显错误(Manifest error for anonymous type)

2019-10-19 07:02发布

我仍然得到我的周围斯卡拉头,让试图找出什么是下面的代码缺少英寸 当我尝试实例genericserializer匿名类型我收到此错误信息

描述资源路径位置类型类型不匹配; 发现:scala.reflect.Manifest [对象]要求:scala.reflect.Manifest [FolderMgmtDAO.this.anoMoveType]注:对象>:FolderMgmtDAO.this.anoMoveType,但特质清单是T类型不变的你不妨来调查通配符类型如_ >: FolderMgmtDAO.this.anoMoveType 。 (SLS 3.2.10)FolderMgmtDAO.scala / somucore / SRC / somu /芯线20的Scala问题

下面是代码

object GenericSerializer
{
  def apply[T <:AnyRef:Manifest]() = new GenericSerializer[T]()
}

class GenericSerializer[T <:AnyRef:Manifest] extends IMongoSerializer[T] {} 

//Anonymous type creation and using GenericSerializer
    type anoMoveType = { def folderPath:String } 
        val szr = GenericSerializer[anoMoveType]

Answer 1:

看起来这是不可能的体现。 您应该使用TypeTag代替。 像这样:

import scala.reflect.runtime.universe._
object GenericSerializer
{
  def apply[T <:AnyRef]()(implicit tag: TypeTag[T]) = {}
}


文章来源: Manifest error for anonymous type
标签: scala