我想实现这种类型的绑定:
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时出错没有匹配的绑定可用,并且该类型不可自我绑定”
答案 0 :(得分:1)
试试这个:
kernel.Bind(typeof(IService<string>)).To(typeof(StringService));