【发布时间】:2013-12-17 17:18:56
【问题描述】:
我正在编写一个应用程序,其中各种业务逻辑位可以位于单独的程序集中,然后这些位用于构建一个需要两个接口的对象,如下所示:
public interface ISubjectSource {}
public interface IStudySource {}
public class Worker
{
public Worker(ISubjectSource subjectSource, IStudySource studySource)
{
....
}
}
单独的程序集可以包含ISubjectSource 和IStudySource 的各种实现。然后连同一个配置文件:
"Study1":{
"assemblies":["Compare.Sql.dll"],
"mappingSource":"Compare.Sql.SqlSubjectSource,Compare.Sql",
"studySource":"Compare.Sql.SqlStudySource,Compare.Sql",
}
其中描述了为“Study1”构建工人所需的内容。当各种来源有自己的依赖关系时,我的问题就出现了(例如,Sql Sources 采用一个接口来处理创建连接字符串可能来自不同文件的连接)。
所以,我的问题归结为:我如何告诉 Ninject 当我为 study1 创建一个 worker 时,确保它获得这些对象,但是当我为 Study2 创建一个 worker 时,它会获得另一组对象?
【问题讨论】:
标签: ninject