종속성 주입을 위해 Microsoft의 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
매개 변수를, 그리고 유니티 내가 그것을 통과하는 상황으로 저장소를 초기화 할 수 있습니다. 또한 IDataContext
Unity에 등록되어 있지 않습니다 (의 인스턴스 3 개를 원하지 않음 IDataContext
).