3

Ninject には、次の解決に問題があるようです。

public interface IRepository<TEntity> : IDisposable where TEntity : class,IEntity
{
}

public class Repository<TEntity> : IRepository<TEntity> where TEntity : class,IEntity
{
    protected IDbContext _context;

    public Repository(IDbContext context)
    {
        _context = context;
    }
}

何か特別なことをする必要があるとき、私は次のようにします。

public interface IMyEntityRepository : IRepository<MyEntity>
{
    int GetSomeStuffForAnObject();
}

それはうまく機能しますが、デフォルトを使用しているだけではバインディングは機能しませんRepository<T>

4

1 に答える 1

1

わかりました、私は以前に何かを逃したに違いありません。

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

うまくいくようです。

于 2012-06-01T14:25:48.980 に答える