首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Unity,我如何将命名依赖注入到构造函数中?

使用Unity,我如何将命名依赖注入到构造函数中?
EN

Stack Overflow用户
提问于 2011-08-13 05:58:21
回答 4查看 39K关注 0票数 72

我在下面的代码中注册了两次IRespository (带有名称):

代码语言:javascript
复制
// 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)时,我必须像这样手动解决:

代码语言:javascript
复制
public ClientModel(IUnityContainer container)
{
   this.dataAccess = container.Resolve<IRepository>(Client);

   .....
}

我想要做的是在构造函数中解析它(就像IUnityContainer一样)。我需要一些方法来说明要解析到哪个命名类型。

如下所示:(注意:不是真正的代码)

代码语言:javascript
复制
public ClientModel([NamedDependancy("Client")] IRepository dataAccess)
{
   this.dataAccess = dataAccess;

   .....
}

有没有办法让我的伪代码正常工作?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7046779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档