Sto usando Unity di Microsoft per l'inserimento delle dipendenze e voglio fare qualcosa del genere:
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
ed RepositoryB
entrambi hanno un costruttore che accetta un IDataContext
parametro e desidero che Unity inizializzi il repository con il contesto in cui lo passo. Si noti inoltre che IDataContext
non è registrato con Unity (non voglio 3 istanze di IDataContext
).