Scala 匿名类型的清单错误
我仍然在关注Scala,所以我试图找出下面代码中缺少的内容。当我尝试用匿名类型实例化genericserializer时,收到此错误消息 说明资源路径位置类型不匹配;发现: 需要scala.reflect.Manifest[Object]: scala.reflect.Manifest[FolderMgmtDAO.this.anoMoveType]注意:对象>: FolderMgmtDAO.this.anoMoveType,但特征清单在中是不变的 键入T。您可能希望调查通配符类型,如\>: folderrmgmtdao.this.anoMoveType。SLS 3.2.10 FolderMgmtDAO.scala/somucore/src/somu/核心线20 scala问题 下面是代码Scala 匿名类型的清单错误,scala,Scala,我仍然在关注Scala,所以我试图找出下面代码中缺少的内容。当我尝试用匿名类型实例化genericserializer时,收到此错误消息 说明资源路径位置类型不匹配;发现: 需要scala.reflect.Manifest[Object]: scala.reflect.Manifest[FolderMgmtDAO.this.anoMoveType]注意:对象>: FolderMgmtDAO.this.anoMoveType,但特征清单在中是不变的 键入T。您可能希望调查通配符类型,如\>: fo
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]
这在清单上是不可能的。
您应该改用TypeTag。像这样:
import scala.reflect.runtime.universe._
object GenericSerializer
{
def apply[T <:AnyRef]()(implicit tag: TypeTag[T]) = {}
}