kotlin dependencies { implementation "uy.klutter:kotlinx-injekt-dart:4.0.2" implementation "uy.klutter:kotlinx-injekt-annotations-dart:4.0.2" } kotlin import uy.klutter.kotlinx.injekt.inject interface DataSource { fun fetchData(): String } class RemoteDataSource : DataSource { override fun fetchData(): String { } } class LocalDataSource : DataSource { override fun fetchData(): String { } } class MyProvider { val dataSource: DataSource by inject() } kotlin import uy.klutter.kotlinx.injekt.InjektMainModule fun main() { InjektMainModule.init { bind<DataSource>() with provider { RemoteDataSource() } } val myProvider = MyProvider() val dataSource = myProvider.dataSource val data = dataSource.fetchData() } kotlin class SomeService { val dataSource: DataSource by inject() } fun main() { InjektMainModule.init { bind<DataSource>() with provider { RemoteDataSource() } } val someService = SomeService() }


上一篇:
下一篇:
切换中文