我正在尝试为DryIoc创建一个(v2.0预览版)。通常情况下,大多数事情看起来都很简单,但是DryIoc似乎并不支持南希依赖的东西之一。
内置的tinyioc容器在面对一个具有两个“相同长度”构造函数的类型(即相同数量的参数,但它们的类型不同)时,将解析其具有完整类型注册集的类型。
在运行我的引导程序时,在RegisterTypes方法中抛出一个异常:
Additional information: Unspecified how to select single constructor for implementation type Nancy.ViewEngines.FileSystemViewLocationProvider with 2 public constructors.
在我的DryIoc实现中,我需要做的事情可能很简单,但我还没有弄清楚。如果有人有任何建议,请回复!
我当前的nancy实现:比特桶片段
发布于 2015-03-23 07:42:36
默认情况下,DryIoc期望单个公共构造函数注入依赖项。但是它可以使用规则为每个容器定制。根据您的情况,您可以按以下方式自定义构造函数选择:
var container = new Container(rules =>
rules.With(FactoryMethod.ConstructorWithResolvableArguments));但是,如果将此行为设置为每个容器可能过高,则可以将其设置为特定的注册:
container.Register<IService, SomeService>(made: Made.Of(FactoryMethod.ConstructorWithResolvableArguments));更完整的用法示例可以找到这里。
更新:
https://stackoverflow.com/questions/29194137
复制相似问题