我有一些这样的代码:

class ReflectiveJsonFormat[T:TypeTag] extends JsonFormat[T] {
  def write(x: T) : JsValue = {
   val t = typeOf[T]
   val getters = t.declarations.filter { s => s.isMethod && s.asMethod.isGetter }
   val mirror = runtimeMirror(this.getClass.getClassLoader)
   val instanceMiror = mirror.reflect(x)
  }
}

最后一行失败:



我以为TypeTagClassTag更多信息?我可以从ClassTag获取TypeTag吗?如果不是,是否有某种语法可以说T有两个上下文边界-TypeTagClassTag?或者,您将如何解决此代码?

最佳答案

如果您需要这样做,那么scala确实支持多个上下文边界:

class ReflectiveJsonFormat[T:TypeTag:ClassTag]

关于scala - 如何从TypeTag或同时获取ClassTag的ClassTag?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18729321/

10-13 06:23