我在 SM repo 上发布了一个问题。
我的问题与此类似,但我想本地化一个问题。
假设我有通用接口IPrinter<T>
及其通用实现Printer<T>
。Printer<string>
当我这样做时,我希望 StructureMap 能够解析具体的封闭类型container.GetInstance<IPrinter<string>>
。
显式注册在这里可以正常工作:
container.Configure(r => r.For(typeof (IPrinter<>)).Use(typeof (Printer<>)));
但是扫描的东西失败了:当我尝试解析时RegisterConcreteTypesAgainstTheFirstInterface()
导致StructureMap 异常。202 No Default Instance defined
IPrinter<string>
有没有办法在没有显式配置的情况下完成我想要的行为?