簡體   English   中英

Scala:用於抽象類型的typeTag?

[英]Scala: typeTag for an abstract type?

我想做以下事情:

trait Sim {
    type Probe
    var probe: Probe

    def reflectProbe() {
      // works: 
      val tt_int = scala.reflect.runtime.universe.typeTag[Int]
      // does not work (No TypeTag available for Sim.this.Probe):
      val tt_probe = scala.reflect.runtime.universe.typeTag[Probe]
    }
}

class WorldProbe

class World extends Sim {
  type Probe = WorldProbe
  var probe: Probe = new WorldProbe
}

我想在trait sim中編寫一個反映方法,以反映trait sim的探針類,定義為抽象類型Probe。 如何使抽象類型的Typetag信息可用?

謝謝!

對於抽象類型,可以使用WeakTypeTags

val tt_probe = scala.reflect.runtime.universe.weakTypeTag[Probe]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM