2014-06-29 20 views

回答

2

該文檔需要改進。

包含是一個文字包含 - 所有包含模塊的@Provides方法,完全傳遞,被收集在一起並被視爲(實際上)被分析模塊的一部分。所以:

@Module(includes = BModule.class) 
class AModule { 
    @Provides A provideA(...) { ... } 
} 

@Module 
class BModule { 
    @Provides B provideB(...) { ... } 
} 

在功能上等同

@Module 
class JointModule { 
    @Provides A provideA(...) { ... } 
    @Provides B provideB(...) { ... } 
} 

此外,模塊包含摺疊重複。所以,如果您有:

@Module(includes = {BModule.class, CModule.class}) 
class AModule { ... } 

@Module(includes = CModule.class) 
class BModule { ... } 

@Module 
class CModule { ... } 

將導致綁定的集合,從AModule + BModule + CModule(刪除重複數據)。

相關問題