scala Reflect API を見ていると、多くの例外が発生しています。
ドキュメント参照: http://docs.scala-lang.org/overviews/reflection/environment-universes-mirrors.html
ジェネリックから typetag を取得するにはどうすればよいですか?
def getChildSettings[T: ru.TypeTag](path: String, settingsParameterObject: T) = {
import scala.reflect.runtime.{ currentMirror => m }
val m = ru.runtimeMirror(getClass.getClassLoader)
val classC = ru.typeOf[T].typeSymbol.asClass
}
例外があります:
No TypeTag available for ParameterObject.type
非常に単純な例でさえ機能していないようです(はい、replで機能します)
import scala.reflect.runtime.universe._
import scala.reflect.runtime.currentMirror
import scala.reflect.runtime.{universe => ru}
def getTypeTag[T: ru.TypeTag](obj: T) = ru.typeTag[T]
case class ParameterObject(stringType: String, optionType: Option[String])
getTypeTag(ParameterObject)
メソッドを呼び出す方法についての何かだと思います。