Ninject将泛型绑定到具体类型

时间:2014-02-20 13:03:21

标签: c# .net dependency-injection ninject ioc-container

我想实现这种类型的绑定:

interface IService<T>
{
    T Get(int id);
}

class StringService : IService<string>
{
    public string Get(int id)
    {
        throw new NotImplementedException();
    }
}

kernel.Bind<IService<string>>().To<StringService>();

但它给了我一个错误,我已经看到了如何绑定IService&lt;&gt;到ConcreteService&lt;&gt;已经,但那不是我想要的。

更新 它抛出Ninject.ActivationException - “激活IService时出错没有匹配的绑定可用,并且该类型不可自我绑定”

1 个答案:

答案 0 :(得分:1)

试试这个:

kernel.Bind(typeof(IService<string>)).To(typeof(StringService));