适用于所有类型的通用 Autofac 容器寄存器
Generic Autofac Container Register for All Types
有没有什么方法可以在 Autofac 上注册泛型而不用逐个类型地注册?
现在:
builder.RegisterType<Repository<Authorization>>().As<IRepository<Authorization>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Branch>>().As<IRepository<Branch>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Customer>>().As<IRepository<Customer>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Foo>>().As<IRepository<Foo>>().InstancePerLifetimeScope();
....
像这样注册他们:
builder.RegisterType<Repository<T>>().As<IRepository<T>>().InstancePerLifetimeScope();
This is 我在找什么。
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)).InstancePerLifetimeScope();
builder.RegisterAssemblyTypes(typeof(BranchService).Assembly)
.Where(t => t.Name.EndsWith("Repository")).AsImplementedInterfaces().AsSelf().InstancePerLifetimeScope();
有没有什么方法可以在 Autofac 上注册泛型而不用逐个类型地注册?
现在:
builder.RegisterType<Repository<Authorization>>().As<IRepository<Authorization>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Branch>>().As<IRepository<Branch>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Customer>>().As<IRepository<Customer>>().InstancePerLifetimeScope();
builder.RegisterType<Repository<Foo>>().As<IRepository<Foo>>().InstancePerLifetimeScope();
....
像这样注册他们:
builder.RegisterType<Repository<T>>().As<IRepository<T>>().InstancePerLifetimeScope();
This is 我在找什么。
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)).InstancePerLifetimeScope();
builder.RegisterAssemblyTypes(typeof(BranchService).Assembly)
.Where(t => t.Name.EndsWith("Repository")).AsImplementedInterfaces().AsSelf().InstancePerLifetimeScope();