是否可以编写这样的内容并重用 HelperTest.AnyHelper 类型?
class HelperUtil
{
/* this is what I would like to write... reuse the AnyHelper type in the definition */
def accept[HelperTest.AnyHelper](helper : HelperTest.AnyHelper) =
{
// code here
}
}
object HelperTest
{
type AnyHelper = T forSome { type T <: GenericHelper }
}
abstract class GenericHelper
{
val name = ""
}
目前我被迫写这个,因为编译器不会让我:
class HelperUtil
{
/* gets too verbose, if the generic type gets more complex and would be useful to reuse the type */
def accept[T <: GenericHelper](helper : T) =
{
// code here
}
}
abstract class GenericHelper
{
val name = ""
}
还是我完全走错了路?