Tôi đang sử dụng Microsoft's Unity để chèn phụ thuộc và tôi muốn làm điều gì đó như sau:
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);
RepositoryAvà RepositoryBcả hai đều có một phương thức khởi tạo nhận IDataContexttham số và tôi muốn Unity khởi tạo kho lưu trữ với ngữ cảnh mà tôi truyền nó. Cũng lưu ý rằng IDataContextkhông được đăng ký với Unity (tôi không muốn 3 trường hợp của IDataContext).