可以在kodein中绑定一个class成员吗?

Is it possible to bind a class member in kodein?

有2个class是:

实现方式如下:

class A {
   val b : B = B() 
}

class B

问题

是否可以为 b 创建一个绑定以隐藏关于 b 源的冗余信息 classes?

科登声明:

override val kodein by Kodein.lazy {

    bind<A>() with singleton { A() }
    bind<B>() with "a.b some impl???"

}

用例

class Usecase(kodein : Kodein){

    val b : B = kodein.instance()

}

很简单:

bind<B>() with provider { instance<A>().b }

provider 绑定是最简单的绑定:它每次都会调用提供的函数。 该函数本身在 Kodein 上下文中运行,因此使用了 instance 函数。