我需要提取某些类型和术语的符号,目前我正在执行以下操作:
val assetElem = Asset(typeOf[Display].member(TermName("kindOfDisplay")).asMethod)
val assetElem_2 = Asset(typeOf[Heat].typeSymbol)
val assetElem_3 = Asset(typeOf[Temperature.type].termSymbol)
有没有办法如何通过创建一个通用方法来优化这个代码,我只能在" typeOf"中提供类型参数?
像
这样的东西def asset[T](s: T): Symbol = typeOf[T].typeSymbol
感谢您的帮助!
答案 0 :(得分:0)
是的,您只需要TypeTag[T]
:
def typeSymbol[T: TypeTag]: Symbol = typeOf[T].typeSymbol
typeSymbol[Heat]