如果我能弄清楚如何“将清单附加回通用调用堆栈”(正如 Joshua 在“Scala in Depth”的第 7.2.2 节中所写),那是否能让我沿着这些思路实例化 B?:
def m1[T](implicit m: Manifest[T]): T = m.erasure.newInstance.asInstanceOf[T]
class A {
def m2[T](implicit m: Manifest[T]): T = m.erasure.newInstance.asInstanceOf[T]
def inA() {
m1[A]
m2[A]
m2[B] // Doesn't work...
}
class B
}
m1[A]
val a = new A
a.m2[A]
a.inA() // boom
还是我需要一些视图绑定?