Понимание верхнего уровня get () в Kotlin - PullRequest
0 голосов
/ 31 марта 2020

Пока я проверял этот репозиторий о кинжале в android с kotlin, я наткнулся на класс приложения:

class ConnectingTheDotsApp : Application() {
    val appComponent: AppComponent by lazy {
        DaggerAppComponent
            .factory()
            .create(this)
    }

    override fun onCreate() {
        super.onCreate()
        appComponent.inject(this)
    }
}

val Activity.appComponent get() = (application as ConnectingTheDotsApp).appComponent
val Fragment.appComponent get() = (requireActivity().application as ConnectingTheDotsApp).appComponent

Класс, который я понимаю. Но две последние строки кода, я не могу понять их. Я знаю, что get() является вспомогательным свойством, но почему оно находится вне класса, а как насчет Activity. и Fragment., что они имели в виду? Есть идеи? Спасибо

1 Ответ

0 голосов
/ 31 марта 2020

Не против парней. Как указано IR42 , это просто простая реализация свойств расширения в koltin.

...