如何将 a 扩展为TypeRef别名的原始类型(和类型参数)的类型别名?
如果我有一个类型引用Option[List[Double]]并且我这样做:
case myType @ TypeRef(_, sym, args) if myType <:< typeOf[Option[Any]] ⇒
我得到:
sym是Optionargs.head是List[Double],我可以继续处理该Double类型。
使用类型别名
如果我有一个类型Option[MyType]和类型别名type Mytype = List[Double],我会这样做:
case myType @ TypeRef(_, sym, args) if myType <:< typeOf[Option[Any]] ⇒
我明白了:
sym是Optionargs.head是MyType
你如何MyType通过List[Double]反射扩展?我已经能够确定它MyType是 a List,但我无法获得嵌套类型参数Double。
Scaladoc 参考资料
TypeRef(
pre: Universe.Type,
sym: Universe.Symbol,
args: List[Universe.Type])