我正在尝试在可变属性上设置扩展函数,以便可以在扩展函数中重新分配该属性。我想知道这是否可能。
我的目标是制作Date
易于访问的扩展。例如:
fun Date.addDays(nrOfDays: Int): Date {
val cal = Calendar.getInstance()
cal.time = this
cal.add(Calendar.DAY_OF_YEAR, nrOfDays)
return cal.time
}
此函数使用Calendar
对象将天数添加到日期。问题是每次我必须返回一个新日期,每次使用此功能时重新分配可能会令人困惑。
我试过的:
fun KMutableProperty0<Date>.addDays(nrOfDays: Int) {
val cal = Calendar.getInstance()
cal.time = this.get()
cal.add(Calendar.DAY_OF_YEAR, nrOfDays)
this.set(cal.time)
}
不幸的是,这不能用于Date
对象。
是否有可能做到这一点?