Spec-Zone.ru › Kotlin 1.6

getValue

kotlin-stdlib / kotlin / getValue
Требования к платформе и версии: JVM (1.4), JS (1.4), Native (1.4)
operator fun <V> KProperty0<V>.getValue(
    thisRef: Any?, 
    property: KProperty<*>
): V

Оператор расширения, позволяющий делегировать чтение только для чтения свойство типа V к ссылке на свойство типа V или его подтипа.

Получатель

Ссылка на свойство только для чтения или изменяемое свойство типа V или его подтипа. Ссылка без получателя, т.е. она либо ссылается на свойство верхнего уровня, либо имеет привязанный к ней получатель.

Пример:

class Login(val username: String)
val defaultLogin = Login("Admin")
val defaultUsername by defaultLogin::username
// equivalent to
val defaultUserName get() = defaultLogin.username
Требования к платформе и версии: JVM (1.4), JS (1.4), Native (1.4)
operator fun <T, V> KProperty1<T, V>.getValue(
    thisRef: T, 
    property: KProperty<*>
): V

Оператор расширения, позволяющий делегировать чтение только для чтения членскому или расширяемому свойству типа V к ссылке на членское или расширяемое свойство типа V или его подтипа.

Получатель

Ссылка на свойство только для чтения или изменяемое свойство типа V или его подтипа. Ссылка имеет несвязанный получатель типа T.

Пример:

class Login(val username: String)
val Login.user by Login::username
// equivalent to
val Login.user get() = this.username
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)
operator fun <T> Lazy<T>.getValue(
    thisRef: Any?, 
    property: KProperty<*>
): T

Расширение для делегирования свойства только для чтения типа T экземпляру Lazy.

Это расширение позволяет использовать экземпляры Lazy для делегирования свойств: val property: String by lazy { initializer }

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/get-value.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API