可以说我有两个接口(interface),例如:
interface LetterClassifier
interface NumberClassifier
然后将这些接口(interface)应用于此类:
class Classifier() : LetterClassifier, NumberClassifier
现在,我只想将这些实例提供为
LetterClassifier
和NumberClassifier
,而不是Classifier
中的Koin
。我想这样做的方式是:
module {
val classifier = Classifier()
single<NumberClassifier> { classifier }
single<LetterClassifier> { classifier }
}
但是我认为这不是正确的方法。有人可以指导我吗?
最佳答案
您可以将类型绑定(bind)到您的定义,就像official article中描述的那样:
single { Classifier() } binds arrayOf(LetterClassifier::class, NumberClassifier::class)
如果您想完全排除
Classifier
类型,则可以执行以下操作:single<LetterClassifier> { Classifier() } bind NumberClassifier::class