暗示不按预期工作

时间:2013-12-11 20:28:29

标签: scala implicit-conversion

由于“无法找到rs的隐含值”,以下代码失败:


import scalikejdbc.WrappedResultSet

object DatabaseSupport {
  implicit class WrappedResultSetConverter(columnName: String)(implicit rs: WrappedResultSet) extends AnyRef {
    def stringCol: String = rs.string(columnName)
    def intCol: Int = rs.int(columnName)
  }

  def myTest(rsParam: WrappedResultSet) {
      val a: String = "name".stringCol
      val b: String = WrappedResultSetConverter("name").stringCol
  }
}

我原以为 myTest rsParam 参数对于implicits是可见的吗?

1 个答案:

答案 0 :(得分:0)

它是不可见的,因为它是显式的,它应该通过隐式关键字隐式。

另一方面,隐式参数可以作为显式参数传递给方法。