0
我想抓住從類的類型,我含蓄地推斷:斯卡拉:通用隱類
case class ToGet(key: String)
class Builder[T <: AnyRef] {
def get(key: String)(implicit mf: Manifest[T]): ToGet = {
ToGet(key)
}
}
object Builder {
import scala.reflect.runtime.universe._
implicit class ToGetImplicits(obj: ToGet) {
def future[T <: AnyRef]()(implicit mf: Manifest[T]): Future[Option[T]] = ???
}
}
當我創建一個實例,並撥打上面的將來,它會返回Future[Option[Nothing]]
。
是否有可能在這裏得到類型或什麼應該設計一個好方法?
EDIT
e.g:
val obj = new Builder[String]
obj.get("myKey").future() //this returns a Future[Option[Nothing]]
編輯2
新增ToGet定義
ToGet的定義在哪裏? –
@AlvaroCarrasco我已更新線程 –
給'Builder'提供的'T'和''future'方法的類型參數'T'之間似乎沒有關係。 「未來」推斷「沒有」,因爲這是最好的,因爲它是給出的。更多的代碼可能會產生更好的答案。 –