Ninject + Bind generic repository

c#, ioc-container, ninject

Solution

Bind(typeof(IRepository<>)).To(typeof(Repository<>));

This is the correct syntax for binding an open generic.

If you are receiving null back when requesting `IRepository< of whatever >`, then there may be some other problem in an area of code you haven't shared.

Problem

I'm trying to Bind a generic IRepository<> interface to my generic Repository<> - however it always return null? I have tried various things like: ``` Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); Bind(typeof(IRepository<>)).To(typeof(Repository<>)); ``` However if I pass in a non-generic interface and class then it works like a dream?

Original source

Related problems