0

有2个班:

  • A - 基类
  • B - A 成员类别

实现如下:

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

class B

问题

是否可以创建一个绑定来隐藏公共类中b有关源的冗余信息?b

科丁声明:

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()

}
4

1 回答 1

2

很简单 :

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

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

于 2017-11-16T13:19:01.357 回答