Saya menggunakan Unity Microsoft untuk injeksi ketergantungan dan saya ingin melakukan sesuatu seperti ini:
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
dan RepositoryB
keduanya memiliki konstruktor yang mengambil IDataContext
parameter, dan saya ingin Unity menginisialisasi repositori dengan konteks yang saya berikan. Perhatikan juga bahwa IDataContext
tidak terdaftar dengan Unity (Saya tidak ingin 3 contoh IDataContext
).