3
我有一個特點Processor
看起來像這樣寫:播放與泛型參數
trait Processor[A] {
def process(in: Seq[Byte]): Result[A]
}
trait Result[A]{
val ok: Boolean
val errorMessage: Option[String]
val data: Option[A]
}
具體實現:
class StringProc extends Processor[String] {
def process(in: Seq[Byte]): StrResult
}
case class StrResult(...) extends Result[String]
object StrResult {
implicit val writes = Json.writes[StrResult]
}
當使用StringProc
實例作爲Processor[String]
類型的返回類型不出意外的是process
是Result[String]
,而不是StrResult
。不幸的是,Writes[StrResult]
似乎是沒用在這種情況下:
發現型結果無JSON序列[字符串]
我怎麼能處理這種情況?
的對象中的行給我_No不應用或unapplySeq功能found_。也許是因爲'結果[A]'是一個特質而不是一個班級? – ceran
謝謝。仍然試圖找出它是如何工作的,但它確實有效;)訣竅是嵌套寫入是由編譯器自動提供的,對吧? – ceran
沒有什麼竅門,這只是隱式作用域的標準方式。 – cchantep