如何将泛型类型与约束绑定

本文关键字:约束 绑定 泛型类型 | 更新日期: 2023-09-27 18:21:27

我使用的是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<>>();
    }
}

其中CCD_ 2不被识别为语句。

我该如何绑定?

如何将泛型类型与约束绑定

从这里偷走了这件作品。看起来对他们有效:

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