J'utilise Unity de Microsoft pour l'injection de dépendances et je souhaite faire quelque chose comme ceci:
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);
RepositoryAet les RepositoryBdeux ont un constructeur qui prend un IDataContextparamètre, et je veux qu'Unity initialise le référentiel avec le contexte que je lui passe. Notez également que ce IDataContextn'est pas enregistré avec Unity (je ne veux pas 3 instances de IDataContext).