Wie würde ich dieses Muster arbeiten lassen? func() kann nicht kompiliert werden. Ich verstehe das Problem mit diesem Setup, aber was ist ein Muster, das im Grunde das erreichen könnte?scala polymorphe Art für Rückgabewert
class A() {
val a: Int = 123
val b: String = "xxx"
}
def func[T](key: String, a: A): T = {
if (key == "a") a.a // would make T an Int
else if (key == "b") a.b // would make T a String
}
val a = new A()
func[Int]("a", a)
func[String]("b", a)
Was meinst du mit "dies im Grunde erreichen"? Dies ist kein Muster, es ist eine Unmöglichkeit. –