Context receivers — это экспериментальная возможность Kotlin, позволяющая функциям, свойствам или классам требовать наличия экземпляров определенных типов в области видимости вызова. Это механизм, позволяющий неявно передавать зависимости.
Как они функционируют:
Объявление: Добавляются к объявлению члена с помощью синтаксиса context(...) before ....
kotlin
Вызов: Чтобы вызвать функцию с контекстными ресиверами, в области видимости вызова должны быть доступны экземпляры требуемых типов. Это может быть достигнуто несколькими способами:
with или других скоупов для предоставления контекста.kotlin
Доступ внутри: Внутри члена, объявленного с контекстными ресиверами, экземпляры этих типов доступны напрямую, как если бы они были обычными ресиверами или переменными в области видимости.
Преимущества:
Важно отметить, что context receivers — это все еще экспериментальная функция и может измениться в будущих версиях Kotlin.