Pregunta

I want to achieve this type of binding:

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>();

But it gives me an error, I've seen how to bind IService<> to ConcreteService<> already, but that's not what I want.

Update It throws Ninject.ActivationException - "Error activating IService No matching bindings are available, and the type is not self-bindable"

¿Fue útil?

Solución

Try this:

kernel.Bind(typeof(IService<string>)).To(typeof(StringService));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top