5NR*_*NRF 6 c# dependency-injection castle-windsor
我有一个Castle Windsor用于 DI 容器的项目。
最初这是一个小项目,所以我一直单独注册每个班级,但是该项目现在正在增长,所以我想按惯例注册,但是我发现文档很难适用于我的情况。
无需过多赘述,我有一个项目,其中包含每个遵循命名约定的接口,例如IUserService.csor IBuildingService.cs。
然后我有另一个项目,其中包含坚持类似约定的实现UserService.cs或BuildingSevice.cs
目前,这需要两次单独调用Kernel.Register.
我知道可以按惯例注册,我只是不熟悉语法 - 任何人都可以提供一些指导?
我想你要找的是这个:
container.Register(Classes.FromThisAssembly()
.WithService.DefaultInterfaces());
Run Code Online (Sandbox Code Playgroud)
如果实现与注册代码不在同一个程序集中,则使用其他“FromAssembly”方法
Castle 的文档非常好:)