匿名类型的清单错误

时间:2014-01-31 15:15:35

标签: scala

我仍然围绕Scala,所以试着找出下面代码中缺少的东西。当我尝试使用匿名类型

实例化genericserializer时,我收到此错误消息
  

描述资源路径位置类型不匹配;发现:   scala.reflect.Manifest [Object] required:   scala.reflect.Manifest [FolderMgmtDAO.this.anoMoveType]注意:对象>:   FolderMgmtDAO.this.anoMoveType,但trait Manifest是不变的   键入T.您可能希望调查通配符类型,例如_ >: FolderMgmtDAO.this.anoMoveType。 (SLS   3.2.10)FolderMgmtDAO.scala / somucore / src / somu / core line 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]

1 个答案:

答案 0 :(得分:0)

Looks like清单无法实现。 您应该使用TypeTag代替。像这样:

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