我有一个名为IProcessor
的接口。我有以下类
interface IProcessor {}
class ABCProcessor : IProcessor { }
class PQRProcessor : IProcessor { }
...
我已经用
注册了它们scan.AddAllTypesOf<IProcessor>().NameBy()
现在,我想传递一个configurationEntity (DTO类)给每个处理器。
如何使用structureMap实现相同的功能?
假设:
- 您可以在
var container = new Container(
执行之前构建您的配置实体(dtoInstance
) - 你的配置实体只构造一次,并且是不可变的
- 您的
ABCProcessor
和PQRProcessor
有构造函数接受该实体
你可以在你的容器内显式注册实现:
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