了解 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 中扩展属性的简单实现。