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