所有运行时di(guice、spring、koin、kodein)都支持泛型。
匕首2-这是唯一的di编译时工具,我知道-不支持泛型。
是否有支持kotlin(或java)泛型的编译时依赖注入工具?
编辑:示例:
class Engine<T>
class Car<T> @Inject constructor(engine: Engine<T>)
如果我用匕首2创造:
@Module
object MyModule
{
@Provides
fun <T> car(engine: Engine<T>): Car<T> = Car(engine)
}
@Component(modules = [MyModule::class])
interface MyComponent
{
fun <T> car(): Car<T>
}
它不会工作,因为dagger2在编译时会说,带有@provide的方法不能是泛型类型
暂无答案!
目前还没有任何答案,快来回答吧!