我使用微軟的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