给定课程
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)
}
}
如何告诉编译器我在 writer.write(src.url)中使用String而不是URLT?我无法修改ForeignStreamWriter的签名。
UPD
至于现在,我找到了唯一的解决方案
def write(src: A) {
writer.write(src.url.asInstanceOf[String])
}
但我真的不喜欢它。
答案 0 :(得分:1)
您需要在import A._
范围内。顺便说一句,如果没有它,你的样本就不会编译。