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);
RepositoryAund RepositoryBbeide haben einen Konstruktor, der einen IDataContextParameter akzeptiert, und ich möchte, dass Unity das Repository mit dem Kontext initialisiert, den ich übergebe. Beachten Sie auch, dass dies IDataContextnicht bei Unity registriert ist (ich möchte keine 3 Instanzen von IDataContext).