使用Unity如何将命名依赖项注入到构造函数中?
我IRespository在以下代码中两次注册了(带有名称): // Setup the Client Repository IOC.Container.RegisterType<ClientEntities>(new InjectionConstructor()); IOC.Container.RegisterType<IRepository, GenericRepository> ("Client", new InjectionConstructor(typeof(ClientEntities))); // Setup the Customer Repository IOC.Container.RegisterType<CustomerEntities>(new InjectionConstructor()); IOC.Container.RegisterType<IRepository, GenericRepository> ("Customer", new InjectionConstructor(typeof(CustomerEntities))); IOC.Container.RegisterType<IClientModel, ClientModel>(); IOC.Container.RegisterType<ICustomerModel, CustomerModel>(); 但是,当我想解决此问题(使用IRepository)时,我必须像这样手动解决: public ClientModel(IUnityContainer container) { this.dataAccess = container.Resolve<IRepository>(Client); ..... } 我想做的是在构造函数中解析它(就像IUnityContainer)。我需要某种方式说出要解决的命名类型。 这样的事情:(注意:不是真实的代码) public ClientModel([NamedDependancy("Client")] IRepository dataAccess) { this.dataAccess = dataAccess; ..... …