farmerbb
12/05/2019, 8:19 PMfarmerbb
12/05/2019, 8:21 PMfarmerbb
12/05/2019, 8:27 PMset(value) = checkValue(field, value) but this seems clean enough. Thanksstreetsofboston
12/05/2019, 8:30 PMstreetsofboston
12/05/2019, 8:37 PMclass GreatestDelegate<T: Comparable<T>>(initialValue: T) {
private var backingField: T = initialValue
operator fun getValue(host: Any?, property: KProperty<*>): T {
return backingField
}
operator fun setValue(host: Any?, property: KProperty<*>, value: T) {
if (value > backingField) {
backingField = value
}
}
}
class Test {
var a: String by GreatestDelegate("")
var b: String by GreatestDelegate("_")
}farmerbb
12/05/2019, 8:42 PM