私がやろうとしているのはジェネリッククラスを取り、その中に静的メソッドを使う関数を作ることです(Java言語では申し訳ありません、 )。与えられたジェネリック型のクラスのコンパニオンオブジェクトを取得する
trait Worker {def doSth: Unit}
class Base
object Base extends Worker
// this actually wouldn't work, just to show what I'm trying to achieve
def callSthStatic[T that companion object is <: Worker](implicit m: Manifest[T]) {
// here I want to call T.doSth (on T object)
m.getMagicallyCompanionObject.doSth
}
私は実際のGistの内容を追加しました.Gistは消えるかもしれませんし、リンクだけでコメントになるかもしれません。 –
エラー:不正な従属メソッドのタイプ 暗黙のdef companion [T](暗黙のcomp:Companion [T])= comp.apply() T])= comp() "とスカラー2.9.1。私はそれを間違っているのですか? :-) –
私は括弧書きで、 'Foo'の型が見えるならばそれはコンパニオンオブジェクトなので、これはかなり気になりますが実際には役に立たないと思います。 –