给出一个课程:
class MyClass[A, B[A] <: SomeClass[A]](...) { ... }
我想在A和B [A]中添加类型标签。
然而,
class MyClass[A: TypeTag, B[A] <: SomeClass[A]: TypeTag]
抱怨B采取类型参数。添加隐式TypeTag [B [A]]似乎可行,但我需要它为某些清单转换绑定上下文。
答案 0 :(得分:4)
如果只有B[A]
并且类B[OtherClass]
的签名中没有B[_]
或MyClass
,您可以使用B
代替{{ 1}}:
B[A]
这是一个带有class MyClass[A: TypeTag, B <: SomeClass[A]: TypeTag](sc: B, e: A)
new MyClass(new SomeClass[String], "a")
// MyClass[String,SomeClass[String]] = MyClass@790e79dc
的丑陋解决方案,但我想你应该只使用隐式参数:
B[A]