0
이 같은 설정이다 기본 저장소 그룹이 ...Ninject에 구성 - 제네릭
Bind<IRepository<SomeObject>>().To<SomeObjectRepository>().WithConstructorArgument("connection", connection);
Bind<IRepository<SomeOtherObject>>().To<SomeOtherObjectRepository>().WithConstructorArgument("connection", connection);
//and so on
그 저장소는 간단하다 - 전체 클래스는 같은 간다.
public class SomeObjectRepository : Repository<SomeObject>
{
public SomeObjectRepository (string connection) : base(connection)
{
}
}
그래서 어쩌면 그건 바보 같아서 제네릭 기본 저장소를 만들고 모든 바인딩을이 것으로 바꿨습니다. 물론 파산 및 오류 맞았
Bind(typeof(IRepository<>)).To(typeof(Repository<>)).WithConstructorArgument("connection", connection);
IRepository {SomeObject의}를 활성화 오류 사용 없음 생성자는 생성 할 수 없었다 {T} 를 리포지토리에 IRepository {T}에서 바인딩 구현의 인스턴스 유형입니다.
왜 작동하지 않습니까?
리포지토리 <> 구현을 제공 할 수 있습니까? 특히 생성자. –