Можно ли создать объект класса исключительно из общего параметра? Например:
class myclass[T] {
def something(): Class[_ <: T] =
classOf[T] //this doesn't work
}
Так как тип будет удален во время выполнения, это похоже на работу для манифестаций, но я не нашел примера, демонстрирующего это конкретное использование. Я попробовал следующее, но он тоже не работает:
class myclass[T] {
def something()(implicit m: Manifest[T]): Class[_ <: T] =
m.erasure //this doesn't work
}
Я подозреваю, что этот сбой вызван тем, что, как указывает API, нет отношения подтипа между типом результата m.erasure
и T
.
EDIT: меня не интересует тип T
, мне просто нужен объект типа Class[_ <: T]
для перехода к методу в структуре hadoop.
Любые указатели?