Kotlin Delegate
Redin supports dependency resolution using kotlin delegate (by
) through Provide
and Get
classes:
class MyService @Inject constructor(val injector: Injector) {
val logger: Logger by Provide(this.injector, scope = SINGLETON)
}
fun kotlinDelegateInject() {
val injector = Redin {
bind<Logger>().inSingletonScope().toValue(Logger.getGlobal())
bindToImplementation<MyService>(scope = SINGLETON)
}
val myService = injector.provide<MyService>(scope = SINGLETON)()
}