温莎城堡 - 按照惯例登记

时间:2016-07-07 10:18:22

标签: c# dependency-injection castle-windsor

我有一个项目使用Castle Windsor作为DI容器。

最初这是一个小项目所以我一直在单独注册每个班级,但是项目现在正在增长,所以我想按惯例注册,但是我发现文档很难适用于我的情况。

我没有太多细节,我有一个项目,其中包含遵循命名约定的接口,例如IUserService.csIBuildingService.cs

然后我有另一个项目,其中包含坚持类似约定的实现UserService.csBuildingSevice.cs

此时需要两次单独调用Kernel.Register

我知道按惯例注册是可能的,我只是不熟悉语法 - 任何人都可以提供一些指导吗?

1 个答案:

答案 0 :(得分:4)

我认为你在寻找的是:

container.Register(Classes.FromThisAssembly() 
    .WithService.DefaultInterfaces());

如果实施不与注册码位于同一个程序集中,则使用另一个" FromAssembly"方法

Castle's documentation相当不错:)