我工作的一个斯卡拉宏,我要的类型相匹配Symbol
的List[T]
,其中T
的一个给定的Type
。我已经有了类型参数的Type
对象T
。
很容易获得Type对象List[_]
:
val listType = c.weakTypeOf[List[_]]
这样我就可以检查typeSignature了
sourceParam.typeSignature match {
case paramType if paramType <:< listType =>
....
}
但是我想用检查paramType List[T]
,那么如何在我List[_]
和和一些Type
对象合并成一个新的Type的情况下制作一个Type?
scala> val tpeList = typeOf[List[_]]
tpeList: reflect.runtime.universe.Type = scala.List[_]
scala> appliedType(tpeList, List(typeOf[Int]))
res0: reflect.runtime.universe.Type = scala.List[Int]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句