使用Scala Reflection加载延伸特征的对象

时间:2014-03-28 11:05:08

标签: scala reflection

以下示例:

trait Config {
  val values: Map[String, String]
  def get(id: String): Option[String] = values.get(id)
}

object Config {
  def apply(): Config = {
    // Here I need a way to return the 'LocalConfig' object
  }
}

object LocalConfig extends Config {
  override val values: Map[String, String] = Map("ID" -> "Value")
}

println(Config().get("ID")) // => "Value"

有没有办法动态地从LocalConfig形式返回apply对象,所以它可以独立地如何命名对象LocalConfig

谢谢

0 个答案:

没有答案