使用隐式参数的调用方法,其中type仅在运行时已知

时间:2015-09-19 14:30:40

标签: scala reflection implicits

说我有这样的方法:

def doSomething(a : A)(implicit someTrait : SomeTrait[A]) : B = { ... }

我调用了一个给我AnyRef的Java方法,我希望将返回的对象传递给doSomething

val obj : AnyRef = javaObject.getRef
doSomething(obj)

我在运行时有足够的信息来为T对象获取更具体的类型AnyRef。我确信在运行时我会找到SomeTrait[T]类型的T

如何在doSomething上致电AnyRef?我可以在运行时以某种方式查找SomeTrait[T]并明确传递它吗?

我不在乎这是否会在运行时爆炸。

0 个答案:

没有答案