История изменений
Исправление LongLiveUbuntu, (текущая версия) :
Такое вообще решают паттерн-матчингом. Смотри как надо:
sealed trait ServiceDuckType
case class Broker(broker: ServiceDuckType) extends ServiceDuckType
case class CustomServiceDTO(dto: ServiceDuckType) extends ServiceDuckType
def inject(param: ServiceDuckType) = param match
{
case Broker(broker) => Some(broker)
case CustomServiceDTO(dto) => Some(dto)
case _ => None
}
Исходная версия LongLiveUbuntu, :
Такое вообще решают паттерн-матчингом. Смотри как надо:
sealed trait ServiceDuckType
case class Broker(broker: ServiceDuckType)
case class CustomServiceDTO(dto: ServiceDuckType)
def inject(param: ServiceDuckType) = param match
{
case Broker(broker) => Some(broker)
case CustomServiceDTO(dto) => Some(dto)
case _ => None
}