取得:私は、サブクラスに追加された抽象型の名称提供する特色を作成しようとしている抽象型の名前
trait T {
type T
def myClassOf[T:ClassTag] = implicitly[ClassTag[T]].runtimeClass
def getType = {
myClassOf[T].getSimpleName
}
}
class TT extends T {
type T = String
}
はしかし、これはコンパイルに失敗します。
Error:(7, 15) not enough arguments for method myClassOf: (implicit evidence$1: scala.reflect.ClassTag[T.this.T])Class[_].
Unspecified value parameter evidence$1.
myClassOf[T].getSimpleName
^
getType
メソッドをサブクラスに移動するとうまくいきます。誰かが理由を説明し、サブクラスからこの呼び出しを行う方法があるかどうかを説明できますか?
感謝を参照してください参照してください。それは理にかなっている。 – jamborta
同じ型の中から 'getType'メソッドを呼び出せる方法はありますか?私は暗黙のパラメータを渡す必要があるように、署名が固定されているメソッドでそれを使用したいと思います。 – jamborta
私はすぐに方法を見ません。 –