gpt4 book ai didi

structuremap - 在构造函数注入(inject)的 StructureMap 中注册相同查找类型的多个映射

转载 作者:行者123 更新时间:2023-12-04 04:07:43 30 4
gpt4 key购买 nike

所以我有一种情况,我想注册 n 个特定查找类型的映射。即:

x.For<IWidget>().Add<SquareWidget>();
x.For<IWidget>().Add<YellowWidget>();

我想让 SM 将它们的可枚举(或数组)注入(inject)到类的构造函数中:

public class Machine
{
public Machine(IEnumerable<IWidget> widgets) { ... }
}

ObjectFactory.GetInstance<Factory>()

我没有找到执行此操作的方法,但我可能遗漏了一些东西。

TIA,

PS:请不要回复“你为什么要这样做”或其他不相关的评论。我意识到这可以使用其他方法来完成。我真的很好奇这种特殊方法是否可行。 :)

最佳答案

使用更新版本的 StructureMap(识别 IEnumerable),它应该完全按照问题中的方式工作。只需使用 For().Add() 注册多个具体类型,然后将接口(interface)类型的 IEnumerable 作为构造函数参数。 StructureMap 将自动注入(inject)所有已注册的具体类型。无需使用特定的注册码,如 TheArrayOf...

关于structuremap - 在构造函数注入(inject)的 StructureMap 中注册相同查找类型的多个映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3535812/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com