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'之间似乎没有关系。 “未来”推断“没有”,因为这是最好的,因为它是给出的。更多的代码可能会产生更好的答案。 –