и использовать систему типов.

я есть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;

   .....
}

Есть ли способ заставить мой фальшивый код работать?

Ответы на вопрос(4)

Ваш ответ на вопрос