Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import kotlin.reflect.KProperty
- data class User(val id: Int, val name: String)
- class PropertyTransfer {
- var _user: User? = null
- var user: User? by object {
- operator fun getValue(thisRef: PropertyTransfer, property: KProperty<*>): User? {
- println("${property.name}がgetされました")
- return _user
- }
- operator fun setValue(thisRef: PropertyTransfer, property: KProperty<*>, userValue: User?) {
- _user = userValue
- println("${property.name}に${userValue}がsetされました")
- println("${_user?.id}")
- println("${_user?.name}")
- }
- }
- }
- fun main(args: Array<String>) {
- val propertyTransfer = PropertyTransfer()
- println(propertyTransfer.user)
- val userSetup = User(1, "太郎")
- propertyTransfer.user = userSetup
- println(propertyTransfer.user)
- }
Add Comment
Please, Sign In to add comment