如何使用约束绑定泛型类型

时间:2012-01-25 12:06:10

标签: c# generics ninject

我正在使用Ninject DI容器。而且我有两个

public interface IRepository<T> where T : AbstractEntity<T>, IAggregateRoot
{ 
    // methods signatures
}

public class Repository<T> : IRepository<T> where T : AbstractEntity<T>, IAggregateRoot
{
    // implementations
} 

然后我试图将它们绑定在一个单独的模块中

public class DataAccessModule : Ninject.Modules.NinjectModule
{
    public override void Load()
    {
        this.Bind<IRepository<>>().To<Repository<>>();
    }
}

其中this.Bind<IRepository<>>().To<Repository<>>();未被识别为声明。

如何进行绑定?

1 个答案:

答案 0 :(得分:5)

here抓住这件作品。看起来它对他们有用:

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