了解 Kotlin 中的顶级 get()
Understanding top level get() in Kotlin
当我使用 kotlin 检查 repository 关于 android 中的匕首时,我偶然发现了应用程序 class:
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
class我明白了。但是最后两行代码,我无法理解。我知道 get()
是支持 属性 但为什么它在 class 之外以及 Activity.
和 Fragment.
它们是什么意思?任何想法?
谢谢
别介意伙计们。正如 IR42 所述,这只是 koltin 中扩展属性的简单实现。
当我使用 kotlin 检查 repository 关于 android 中的匕首时,我偶然发现了应用程序 class:
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
class我明白了。但是最后两行代码,我无法理解。我知道 get()
是支持 属性 但为什么它在 class 之外以及 Activity.
和 Fragment.
它们是什么意思?任何想法?
谢谢
别介意伙计们。正如 IR42 所述,这只是 koltin 中扩展属性的简单实现。