私は暗黙的に推測していたクラスの種類をキャッチしようとしている:スカラ:ジェネリック暗黙のクラス
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
例えば:
val obj = new Builder[String]
obj.get("myKey").future() //this returns a Future[Option[Nothing]]
EDIT 2
ToGet
を返し
obj.get("myKey")
追加さToGet定義
「ToGet」の定義はどこですか? –
@AlvaroCarrascoスレッドを更新しました –
'buil'に与えられた' T'と 'future'メソッドの型パラメータとして与えられた' T'の間には接続がないようです。 「未来」とは、「何もない」というものです。なぜなら、それはそれが与えられることでできることです。より多くのコードがより良い答えをもたらすかもしれません。 –