Назначение правильного репозитория в классе с несколькими репозиториями с одинаковым базовым типом с помощью Ninject - PullRequest
2 голосов
/ 04 августа 2011

Пример

В качестве примера того, о чем я говорю, скажем, у меня есть 2 хранилища:

SubordinateRepository : IRepository<User> 
{
    // ...
}

Подчиненное хранилище используется для получения подчиненных пользователя.


DelegateRepository : IRepository<User> 
{
    // ...
}

Репозиторий делегатов используется для получения любых других пользователей, которые данный пользователь назначил в качестве делегата.


В моем классе пользователя у меня есть:

public class User
{
    public User(IRepository<User> subordinateRepo, IRepository<User> delegateRepo)
    {
        _subordianteRepository = subordinateRepo;
        _delegateRespository = delegateRepo;
    }

    private IRepository<User> _subordianteRepository;
    private IRepository<User> _delegateRespository;
}

Вопрос

Как настроить привязки, используя Ninject, чтобы каждый реферат IRepository<User> был назначен соответствующему конкретному хранилищу?

1 Ответ

3 голосов
/ 04 августа 2011

Посмотрите на множество примеров опций в разделе Contextual Binding в вики

...