Ich verwende Microsoft Unity für die Abhängigkeitsinjektion und möchte Folgendes tun:
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
und RepositoryB
beide haben einen Konstruktor, der einen IDataContext
Parameter akzeptiert, und ich möchte, dass Unity das Repository mit dem Kontext initialisiert, den ich übergebe. Beachten Sie auch, dass dies IDataContext
nicht bei Unity registriert ist (ich möchte keine 3 Instanzen von IDataContext
).