[英]Scala, accessing classof abstract type in a trait
我正在我的Scala代碼中試驗隱式變量。 我編寫了以下示例代碼,但不幸的是它無法編譯。 我想知道,有人知道這里缺少什么嗎? (在Linux上使用scala 2.8.0和SBT 0.7.4)
謝謝,阿里
trait Feed
trait FeedFactory {
type T <: Feed
implicit val op_name = classOf[T].getCanonicalName
def create():T
def destroy(op:T)
}
Error: class type required but FeedFactory.this.T found
implicit val op_name = classOf[T].getCanonicalName
在編譯時忘記了類型T(參見類型擦除)。 但是scala提供了通過編譯保留類型的Manifest
。
這是一個更完整的解釋 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.