Scala - получение объекта класса из универсального типа

Это возможно ли создать объект класса исключительно из универсального параметра? Например:

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 .

РЕДАКТИРОВАТЬ: Меня не очень интересует, что такое тип T , мне просто нужен объект типа Class [_ <: T] для передачи методу в фреймворк hadoop.

Есть указатели?

19
задан dhg 21 November 2011 в 07:17
поделиться