使用StructureMap传递配置实体



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

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

我已经用

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

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

如何使用structureMap实现相同的功能?

假设:

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

你可以在你的容器内显式注册实现:

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

最新更新