【问题标题】:Assigning the correct repository in a class with multiple repositories with the same base type using Ninject使用 Ninject 在具有多个具有相同基本类型的存储库的类中分配正确的存储库
【发布时间】:2011-08-03 22:06:55
【问题描述】:

示例

作为我所说的一个例子,假设我有 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&lt;User&gt; 分配给正确的具体存储库?

【问题讨论】:

    标签: c# ioc-container ninject


    【解决方案1】:

    查看Contextual Binding section in the wiki 上的各种选项示例

    【讨论】:

    • 谢谢 Ruben,看起来命名绑定对我来说很有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多