使用StructureMap传递配置实体

时间:2016-11-08 17:00:30

标签: c# ioc-container structuremap

我有一个名为IProcessor的接口。我有以下课程

interface IProcessor {}
class ABCProcessor : IProcessor { }
class PQRProcessor : IProcessor { }
...

我已经使用

注册了它们
scan.AddAllTypesOf<IProcessor>().NameBy()

现在,我想将configurationEntity(DTO类)传递给每个处理器。

如何使用structureMap实现相同的效果?

1 个答案:

答案 0 :(得分:0)

假设:

  • 您可以在执行dtoInstance之前构建配置实体(var container = new Container(
  • 您的配置实体构造一次并且是不可变的
  • 您的ABCProcessorPQRProcessor拥有接受该实体的构造函数

您可以在Container中明确注册实现:

x.For(IProcessor).Use(new ABCProcessor(dtoInstance));
x.For(IProcessor).Use(new PQRProcessor(dtoInstance));

这里有一些例子:http://structuremap.github.io/registration/auto-registration-and-conventions/

此外,https://stackoverflow.com/a/5640052/270576