我仍然围绕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]
答案 0 :(得分:0)
Looks like清单无法实现。
您应该使用TypeTag
代替。像这样:
import scala.reflect.runtime.universe._
object GenericSerializer
{
def apply[T <:AnyRef]()(implicit tag: TypeTag[T]) = {}
}