Question

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"

Was it helpful?

Solution

Try this:

kernel.Bind(typeof(IService<string>)).To(typeof(StringService));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top