Voglio scrivere una funzione come questa:Come posso scrivere una funzione che esegue un'istruzione case con un tipo generico?
def genericCase[T]() : PartialFunction[Any, T] = {
case Wrapper(_, item: T) => item
case Wrapper(item: T, _) => item
}
In parole, voglio un modo per riutilizzare la struttura di un pattern match con diversi tipi.
Il compilatore mi dice che a causa della cancellazione del tipo, lo case x: T
non corrisponderà mai. Qual è un'alternativa per fare questo tipo di dichiarazione generica? Ho anche provato a utilizzare i tipi nell'API di riflessione come argomento della funzione, ma non siamo riusciti a capirlo.