给定的类
object A {
type URLT = String
}
case class A(url : URLT)
class ForeignStreamWriter {
def writeString(str: String) {}
}
trait WriterA {
val writer : ForeignStreamWriter
def write(src: A) {
writer.write(src.url)
}
}
我如何告诉编译器我正在使用 String - 而不是 URLT - 在writer.write(src.url)中?我无法修改 ForeignStreamWriter 的签名。
UPD
至于现在我找到了唯一的解决方案
def write(src: A) {
writer.write(src.url.asInstanceOf[String])
}
但我真的不喜欢它。