如何使用XML配置将数组/列表参数传递给类构造函数?
如果我想传递标量值,我使用以下配置:
<components name="0">
<type>XXX, XXX</type>
<services name="0" type="XXX, XXX" key="YYY"/>
<injectProperties>true</injectProperties>
<instanceScope>single-instance</instanceScope>
<parameters>
<param1name>param1value</param1name>
<param2name>param2value</param2name>
</parameters>
</components>
我的类的构造函数需要一个 IEnumerable 类型的参数。
此致敬意阿南
简短版本:目前不支持。相关问题在这里。
我已经尝试过使用 JSON 配置,但参数没有传递给构造函数。我的配置看起来像这样:
"parameters":{
"constructorParamName":["stringValue1", "stringValue2"]
}
构造函数是:
public MyClassConstructor(IList<string> constructorParamName = null)
不幸的是,"constructorParamName"值总是空的。
更新:
我发现问题是由IContainer.ResolveNamed 方法引起的。此方法从配置文件传递属性,但不传递构造函数参数。