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);
RepositoryAed RepositoryBentrambi hanno un costruttore che accetta un IDataContextparametro e desidero che Unity inizializzi il repository con il contesto in cui lo passo. Si noti inoltre che IDataContextnon è registrato con Unity (non voglio 3 istanze di IDataContext).