所以我想要注册特定查找类型的n个映射.IE:
x.For<IWidget>().Add<SquareWidget>();
x.For<IWidget>().Add<YellowWidget>();
Run Code Online (Sandbox Code Playgroud)
我想让SM将一个枚举(或数组)注入到类的构造函数中:
public class Machine
{
public Machine(IEnumerable<IWidget> widgets) { ... }
}
ObjectFactory.GetInstance<Factory>()
Run Code Online (Sandbox Code Playgroud)
我没有办法做到这一点,但我可能会遗漏一些东西.
TIA,
米
PS:请不要回答"你为什么这样做"或其他不相关的评论.我意识到这可以通过其他方法来实现.如果这种特殊方法可行,我真的很好奇.:)
使用更新版本的StructureMap(识别IEnumerable),它应该与您在问题中的确切方式相同.只需使用For().Add()注册多个具体类型,然后将接口类型的IEnumerable作为构造函数参数.StructureMap将自动注入所有已注册的具体类型.无需使用像TheArrayOf这样的特定注册码...
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |