我使用微软的Unity依赖注入和我想要做这样的事情:我可以将构造函数参数传递给Unity的Resolve()方法吗?
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
参数,我想统一初始化与上下文信息库我通过它。还请注意,IDataContext
未注册Unity(我不想要3个IDataContext
)。
另请参阅http://stackoverflow.com/questions/2813322/unity-2-0-how-to-use -resolve-with-resolveroverride – 2012-09-05 21:23:06