Android Dagger 2-模块为Singleton提供

Android Dagger 2-模块为Singleton提供,android,dagger-2,Android,Dagger 2,我在Android上使用Dagger2,遇到了如何使用命名变体构建单例的问题 假设在我的示例中,我想从B和A构建对象C。这里不描述A,但B有两个版本(niceB和notNiceB)。我想用notNiceB构建C,如何指定注入哪个bean@参数中的命名(“notNiceB”)B似乎不起作用 @Module public class MyModule { @Provides @Singleton C providesC(B b, A a) { // Omitted here } @Pro

我在Android上使用Dagger2,遇到了如何使用命名变体构建单例的问题

假设在我的示例中,我想从B和A构建对象C。这里不描述A,但B有两个版本(niceB和notNiceB)。我想用notNiceB构建C,如何指定注入哪个bean@参数中的命名(“notNiceB”)B似乎不起作用

@Module
public class MyModule {

@Provides
@Singleton
C providesC(B b, A a) {
    // Omitted here
}

@Provides
@Singleton
@Named("niceB")
B providesNiceB() {
    // Omitted here
}

@Provides
@Singleton
@Named("notNiceB")
B providesNotNiceB() {
    // Omitted here
}
}

这应该行得通。

EpicPandaForce在下面说明了它的正确性。既然您提到它“似乎不起作用”,您能添加任何错误消息或其他可能有助于我们调试的详细信息吗?
@Provides
@Singleton
C c(@Named("notNiceB") B b, A a) {
    // Omitted here
}