2014-01-31 64 views
1

我仍然對Scala非常感興趣,所以試圖找出下面代碼中缺少的內容。當我嘗試使用匿名類型實例化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] 

回答

0

Looks like它不可能用清單。 您應該改用TypeTag。像這樣:

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