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);
RepositoryA
et les RepositoryB
deux ont un constructeur qui prend un IDataContext
paramètre, et je veux qu'Unity initialise le référentiel avec le contexte que je lui passe. Notez également que ce IDataContext
n'est pas enregistré avec Unity (je ne veux pas 3 instances de IDataContext
).