いくつかの封印されたクラスがあるとしましょう
sealed abstract class SomeEnumThing {
type RenderedType
}
object Type1 extends SomeEnumThing {
type RenderedType = String
}
object Type2 extends SomeEnumThing {
type RenderedType = Array[Byte]
}
そして、渡されたパラメーターで定義された抽象型に基づいてメソッドを返す必要があります。
def render(something : SomeEnumThing) : something.RenderedType = { .... }
これの正しい構文は何ですか。これは可能ですか? 2.10 メソッドに依存する型と関係があると思いました。
編集:更新された例
sealed abstract class SomeThing {
type RenderedType
}
object Type1 extends SomeThing {
type RenderedType = String
}
object Type2 extends SomeThing {
type RenderedType = Long
}
def render(something : SomeThing) : something.RenderedType =
something match {
case Type1 => "test"
case Type2 => 0l
}