Я хочу, чтобы написать функцию, как это:Как написать функцию, которая выполняет оператор case с общим типом?
def genericCase[T]() : PartialFunction[Any, T] = {
case Wrapper(_, item: T) => item
case Wrapper(item: T, _) => item
}
В словах, я хочу способ повторного использования структуры матча картины с различными типами.
Компилятор сообщает мне, что из-за стирания типа case x: T
никогда не будет соответствовать. Что является альтернативой для такого рода типичных случаев? Я также пытался использовать типы в API-интерфейсе отражения в качестве аргумента функции, но мы не могли понять этого.