小编Git*_*ter的帖子

Castle Windsor:注册具有相同构造函数参数的接口的所有实现

我有相同接口的多个实现,它们都具有相同的构造函数参数(strConn).是否可以使用1 container.Register调用注册所有实现?

这是我有的:

container.Register(
            Classes.FromAssemblyContaining<IUserMenuDao>()
                .BasedOn<IDataAccess>().WithService.FromInterface()
            );
Run Code Online (Sandbox Code Playgroud)

这些实现都具有相同的构造函数参数; 创建失败.注册一个将是:

container.Register(Component.For<IUserMenuDao>()
                               .DependsOn(new {strConn = ConfigurationManager.ConnectionStrings["ABC123"].ConnectionString})
                               .ImplementedBy<UserMenuDaoSqlServerImpl>());
Run Code Online (Sandbox Code Playgroud)

是否有一种方法按惯例注册类似于代码示例#1但是对所有实现使用DependsOn?

.net castle-windsor castle inversion-of-control

2
推荐指数
1
解决办法
937
查看次数