【发布时间】:2018-07-19 06:30:57
【问题描述】:
是否可以自动创建返回 this 的设置器?
尝试了以下,但这种方式不起作用,但这个例子显示了我想要实现的目标:
var pos: Int?
set(value) : IPosItem {
this.pos = value
return this
}
手动解决方案
当然写setters 和getters 我自己,如下所示:
var _pos: Int?
fun getPos(): Int? = _pos
fun setPos(value: Int?): IPosItem {
_pos = value
return this
}
问题
这个过程可以用 kotlin 自动化吗?任何想法如何实现这一目标?
【问题讨论】:
-
除非目标是在 Kotlin 中创建 Java API,否则您不需要这样做,因为简单地使用 apply() 可以避免像在 Java 中那样重复变量名,并且会成为惯用的 Kotlin。 kotlinlang.org/api/latest/jvm/stdlib/kotlin/apply.html
-
如果目标是创建 Java API,那么返回 void 以外的东西的方法就不是 setter。这是一种方法。
-
我需要这个,因为我使用的注释处理器会生成这种类型的设置器,所以我想在我的自定义界面中使用上面,我告诉处理器生成的类正在实现......跨度>
标签: kotlin