Używam Unity firmy Microsoft do wstrzykiwania zależności i chcę zrobić coś takiego:
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
i RepositoryB
oba mają konstruktor, który przyjmuje IDataContext
parametr, i chcę, aby Unity zainicjował repozytorium z kontekstem, który mu przekazuję. Zwróć również uwagę, że IDataContext
nie jest zarejestrowany w Unity (nie chcę 3 wystąpień IDataContext
).