2016-11-18 89 views
1

我使用Dagger2 Android和我遇到的是如何使用命名變體建造建築物辛格爾頓問題就來了。匕首2 - 模塊提供辛格爾頓與

比方說,我的例子,我希望建立從B對象C和A A沒有在這裏描述,但是B具有版本二(niceB和notNiceB)。我想notNiceB打造C,我怎麼可以指定注入哪個Bean。 @Named(「notNiceB」)中的B參數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 
} 
} 
+0

EpicPandaForce下方有改正。既然你提到它「似乎沒有工作」,你可以請加任何錯誤信息或其他細節可以幫助我們調試? –

回答

1
@Provides 
@Singleton 
C c(@Named("notNiceB") B b, A a) { 
    // Omitted here 
} 

這應該工作。