获取由Scala宏中的字符串标识的类型

获取由Scala宏中的字符串标识的类型,scala,macros,Scala,Macros,我有一组字符串(基本上是java.lang.类和一些自定义类的名称)。在宏中,我需要将类型添加到函数: q"""propKey[${resolveType(c)(argType)}]($name, classOf[$argType])""" 其中argType是String 到目前为止,我尝试了q“$argType”——但这增加了奇怪的签名propKey[String(“java.lang.Integer”)](…) 使用c.universe.TypeName-没有方法获取c.universe

我有一组字符串(基本上是
java.lang.
类和一些自定义类的名称)。在宏中,我需要将类型添加到函数:

q"""propKey[${resolveType(c)(argType)}]($name, classOf[$argType])"""
其中
argType
String

到目前为止,我尝试了
q“$argType”
——但这增加了奇怪的签名
propKey[String(“java.lang.Integer”)](…)


使用
c.universe.TypeName
-没有方法获取
c.universe.Type
实例。

c.mirror.staticClass(“java.lang.String”).toType
@余杰水 请发布一个答案,这样我可以接受并投票。请尝试解释一下你的代码,以获得更完整的答案。