Estoy usando Unity de Microsoft para la inyección de dependencia y quiero hacer algo como esto:
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
y RepositoryB
ambos tienen un constructor que toma un IDataContext
parámetro, y quiero que Unity inicialice el repositorio con el contexto que le paso. También tenga en cuenta que IDataContext
no está registrado con Unity (no quiero 3 instancias de IDataContext
).