0

如何使用 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 类型的参数。

最好的问候,阿南

4

2 回答 2

1

短版:目前不支持。相关问题在这里。

于 2017-03-15T20:30:09.790 回答
0

我尝试过使用 JSON 配置,但参数没有传递给构造函数。我的配置如下所示:

     "parameters":{
        "constructorParamName":["stringValue1", "stringValue2"]
     }

构造函数是:

public MyClassConstructor(IList<string> constructorParamName = null) 

不幸的是,“constructorParamName”值始终为空。

更新:

我发现问题是由 IContainer.ResolveNamed 方法引起的。此方法从配置文件传递属性,但不传递构造函数参数。

于 2017-03-17T10:09:06.133 回答