我正在使用微软的Unity进行依赖注入,我想做如下事情:
IDataContext context = _unityContainer.Resolve<IDataContext>();
var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context
var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context
IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance
var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2);
RepositoryA
和RepositoryB
都有一个接受IDataContext
参数的构造函数,我希望Unity用我传递的上下文初始化库.还要注意的是,IDataContext
没有注册到Unity(我不想要3个IDataContext
实例).