Ste*_*kes 6 c# dependency-injection unity-container
给出以下界面:
public interface IMyProcessor
{
void Process();
}
Run Code Online (Sandbox Code Playgroud)
我希望能够注册多个实现并让我的DI容器将其中的可枚举注入到这样的类中:
public class MyProcessorLibrary
{
private readonly IMyProcessor[] _processors;
public MyProcessingThing(IMyProcessor[] processors)
{
this._processors = processors;
}
public void ProcessAll()
{
foreach (var processor in this._processors)
{
processor.Process();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?我当前MyProcessorLibrary的IMyProcessor实现静态查找所有实现,但如果可以的话,我宁愿通过容器来实现.我正在使用Unity,但我很好奇其他容器是否支持它.
编辑:
谢谢你到目前为止的答案; 要清楚我想注入MyProcessorLibrary另一个类,并将其构建为依赖对象树的连接的一部分,例如
public class MyProcessorRepository
{
public MyProcessorRepository(MyProcessorLibrary processorLibrary)
{
}
}
public class MyProcessorService
{
public MyProcessorService(MyProcessorRepository processorRepository)
{
}
}
var container = new UnityContainer();
// Register a bunch of IMyProcessors...
var service = container.Resolve<MyProcessorService>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |