说我有以下课程:
class A[T] { ... }
abstract class B[T1,T2](t: T1)(implicit ev: A[T2]) {
...
}
在某些情况下,当我从B继承时,T2的类型与T1的类型相同。有没有我可以定义我的类以避免必须明确指定它?
所以而不是必须这样做:
class C extends B[String, String]("Some string") {
...
}
我可以让编译器有一些推断,所以我只需要写:
class C extends B("Some string") {
...
}
答案 0 :(得分:2)
我认为类型别名应该有效:
type B1[T] = B[T, T]
class C extends B1("Some string") {
...
}