Spec-Zone.ru › Kotlin 1.4

KProperty1

kotlin-stdlib / kotlin.reflect / KProperty1
Требования к платформе и версии: JVM (1.0), JS (1.1), Native (1.3)
interface KProperty1<T, out V> : KProperty<V>, (T) -> V

Представляет свойство, операции над которым принимают один получатель в качестве параметра.

Параметры

T - тип получателя, который должен использоваться для получения значения свойства.

V - тип значения свойства.

Типы

Требования к платформе и версии: JVM (1.0)

Getter

Геттер свойства — это метод get , объявленный вместе со свойством.

interface Getter<T, out V> : KProperty.Getter<V>, (T) -> V

Свойства

Требования к платформе и версии: JVM (1.0)

getter

Геттер этого свойства, используемый для получения значения свойства.

abstract val getter: KProperty1.Getter<T, V>

Наследуемые свойства

Требования к платформе и версии: JVM (1.1)

isConst

true , если это свойство является const. Дополнительную информацию см. в документации по языку Kotlin.

abstract val isConst: Boolean
Требования к платформе и версии: JVM (1.1)

isLateinit

true , если это свойство является lateinit. Дополнительную информацию см. в документации по языку Kotlin.

abstract val isLateinit: Boolean

Функции

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

get

Возвращает текущее значение свойства.

abstract fun get(receiver: T): V
Требования к платформе и версии: JVM (1.1)

getDelegate

Возвращает значение делегата, если это делегированное свойство, или null , если это свойство не делегировано. Дополнительную информацию см. в документации по языку Kotlin.

abstract fun getDelegate(receiver: T): Any?
Требования к платформе и версии: Native (1.3)

invoke

abstract operator fun invoke(p1: T): V

Расширяемые свойства

Требования к платформе и версии: JVM (1.1)

extensionReceiverParameter

Возвращает параметр, представляющий экземпляр получателя расширения, необходимый для вызова этого вызываемого элемента, или null , если этот вызываемый элемент не является расширением.

val KCallable<*>.extensionReceiverParameter: KParameter?
Требования к платформе и версии: JVM (1.1)

instanceParameter

Возвращает параметр, представляющий экземпляр this , необходимый для вызова этого вызываемого элемента, или null , если этот вызываемый элемент не является членом класса и, следовательно, не принимает такого параметра.

val KCallable<*>.instanceParameter: KParameter?
Требования к платформе и версии: JVM (1.0)

isAccessible

Предоставляет способ подавления проверок доступа JVM для вызываемого элемента.

var KCallable<*>.isAccessible: Boolean
Требования к платформе и версии: JVM (1.0)

javaField

Возвращает экземпляр Java Field, соответствующий полю хранения данного свойства, или null , если свойство не имеет поля хранения.

val KProperty<*>.javaField: Field?
Требования к платформе и версии: JVM (1.0)

javaGetter

Возвращает экземпляр Java Method, соответствующий геттеру данного свойства, или null , если свойство не имеет геттера, например, в случае простого частного val в классе.

val KProperty<*>.javaGetter: Method?
Требования к платформе и версии: JVM (1.1)

valueParameters

Возвращает параметры этого вызываемого элемента, исключая параметр экземпляра this и параметр получателя расширения.

val KCallable<*>.valueParameters: List<KParameter>

Расширяемые функции

Требования к платформе и версии: JVM (1.3)

callSuspend

Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является функцией приостановки, ведет себя как KCallable.call. В противном случае вызывает функцию приостановки с текущим продолжением.

suspend fun <R> KCallable<R>.callSuspend(
    vararg args: Any?
): R
Требования к платформе и версии: JVM (1.3)

callSuspendBy

Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является функцией приостановки, ведет себя как KCallable.callBy. В противном случае вызывает функцию приостановки с текущим продолжением.

suspend fun <R> KCallable<R>.callSuspendBy(
    args: Map<KParameter, Any?>
): R
Требования к платформе и версии: JVM (1.1)

findAnnotation

Возвращает аннотацию заданного типа на этом элементе.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
Требования к платформе и версии: JVM (1.1)

findParameterByName

Возвращает параметр этого вызываемого объекта с заданным именем или null , если такого параметра нет.

fun KCallable<*>.findParameterByName(
    name: String
): KParameter?
Требования к платформе и версии: JVM (1.1)

getExtensionDelegate

Возвращает экземпляр делегата расширяемого свойства или null , если это свойство не делегировано. Выбрасывает исключение, если это не расширяемое свойство.

fun KProperty1<*, *>.getExtensionDelegate(): Any?
Требования к платформе и версии: JVM (1.4), JS (1.4), Native (1.4)

getValue

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

operator fun <T, V> KProperty1<T, V>.getValue(
    thisRef: T, 
    property: KProperty<*>
): V
Требования к платформе и версии: JVM (1.4)

hasAnnotation

Возвращает true, если этот элемент аннотирован аннотацией типа T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Требования к платформе и версии: JVM (1.0)

reflect

Это экспериментальный API. Принимая во внимание класс скомпилированной Kotlin лямбды или выражения функции, возвращает экземпляр KFunction, предоставляющий возможности интроспекции для этой лямбды или выражения функции и ее параметров. Не все функции в настоящее время поддерживаются, в частности, KCallable.call и KCallable.callBy в данный момент не будут работать.

fun <R> Function<R>.reflect(): KFunction<R>?

Наследующие

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty1

Представляет var свойство, операции с которым принимают один получатель в качестве параметра.

interface KMutableProperty1<T, V> : 
    KProperty1<T, V>, 
    KMutableProperty<V>

© 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.reflect/-k-property1/index.html

Spec-Zone.ru

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