2
trait F[S]{
def evaluate(): S
}
よりtypeOf [F [Double]]から "evaluate"の戻り値の型がDoubleであることがわかりますか?スカラーリフレクションで型パラメータを返すメソッドの型を調べる方法は?
typeOf[F[Double]]
.decls
.filter(_.name.toString=="evaluate")
.head
.asMethod
.returnType
.dealias
==> S
ダブルが消去されていないリターンを評価する型情報 - それだけで検索し、型パラメータと一致するために、そのハードのように思える:
私のクラスは、多くの種類のパラメータを有することができるので、私はSが最初の型パラメータであることを確認することはできませんが、型並みのタイプということtypeOf[F[Double]].typeArgs
==>一覧(ダブル)
その可能ametersは知られているようです。