我已经IRepository
了很多类IRepository<User>
、IRepository<Customer>
等。 是否可以像这样以这样的单位注册,但针对所有对象,或者我必须手动编写 100 个注册。
container.RegisterType<IRepository<User>, Repository<User>>()
不,你没有。您也可以注册开放泛型。
container.RegisterType(typeof(IRepository<>), typeof(Repository<>));
Unity 将为您关闭泛型。
我从未使用过Unity,但在Ninject世界中,您只需要注册一次依赖项。