我会直接谈生意。
假设我有以下特征定义:
trait Routable{
def routing(): String
}
我正在定义以下类:
case class MyEvent(name: String, age: Int) extends Routable{
override def routing(): String = "this is my routing key"
}
我正在尝试调用一个宏routeOf[MyEvent]
来返回已定义类的路由键。
在过去的 3 天里我尝试了很多东西,我开始怀疑这是否可能......
我的宏定义是:
def routeOf[T]: Any = macro RouteOfMacro.impl[T]
def impl[T: c.WeakTypeTag](c: whitebox.Context): c.Tree
但是我找不到如何从 WeakTypeTag 中提取方法(并且互联网上的示例并不完整)。
那么可以做到吗?