Пока я проверял этот репозиторий о кинжале в 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.
, что они имели в виду? Есть идеи? Спасибо