常见的 Enrich-My-Library 模式似乎类似于
class Foo(value: Int)
implicit def int2Foo(i: Int) = new Foo(i)
为什么不能implicit
像这样将其添加到构造函数本身
class Foo implicit (value: Int)
考虑到构造函数只不过是一个带有一些额外限制的方法?
令人惊讶的是,以下方法确实有效:
class Foo(value: Int) {
implicit def this(a: String) = this(a.toInt)
}