2016-11-08 58 views
0

我有一个名为IProcessor的接口。我一直在使用使用StructureMap传递配置实体

scan.AddAllTypesOf<IProcessor>().NameBy() 

现在,我想通过一个configurationEntity(DTO类)每个处理器的下列类别

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

我已经注册了他们。

如何使用结构图实现相同?

回答

0

假设:

  • 你能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