从Scala中的向下转换变量导入?

Dun*_*gor 0 import casting scala

我正在写一个ScalaTest JMock期望.语法通常是

expecting { e => import e._
  // call methods on e
}
Run Code Online (Sandbox Code Playgroud)

现在我碰巧知道e是Expectation的子类.我可以写

expecting { e => 
  val e2 = e.asInstanceOf[MySubclass]
  import e2._
  // call MySubclass methods
}
Run Code Online (Sandbox Code Playgroud)

但我找不到任何制作单线的方法

expecting { e => import (e.asInstanceOf[MySubclass])._
  // call MySubclass methods
}
Run Code Online (Sandbox Code Playgroud)

编译.

无论如何,只需一步结合向下铸造和进口?

Pet*_*itz 5

我没有看到将两者结合起来的方法,但我宁愿像这样实现它:

expecting { case e: MySubclass => import e._
  ...
}
Run Code Online (Sandbox Code Playgroud)