【问题标题】:Understanding top level get() in Kotlin了解 Kotlin 中的顶级 get()
【发布时间】:2020-03-31 11:34:27
【问题描述】:

当我用 kotlin 检查这个 repository 关于 android 中的 dagger 时,我偶然发现了应用程序类:

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. 是什么意思?任何的想法? 谢谢

【问题讨论】:

标签: android kotlin dagger-2


【解决方案1】:

别介意伙计们。正如IR42 所说,这只是 koltin 中扩展属性的简单实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 2020-02-22
    • 2019-08-26
    • 2019-07-18
    • 1970-01-01
    • 2019-06-20
    相关资源
    最近更新 更多