Unity在app.config中注入复杂的构造函数对象

时间:2014-02-06 21:28:16

标签: c# dependency-injection unity-container app-config

我有一个MyProvider类,它接受一个设置对象作为构造函数参数。有没有人知道Unity是否支持通过app.config配置将复杂对象作为参数传递?

这是我到目前为止尝试过的(没有用)

<register type="IProvider" mapTo="MyProvider">
    <constructor>
        <param name="settings">
            <value>
         <MyProviderSettings>
             <UserId>YYYYYYYY</UserId>
             <Password>XXXXXX</Password>
             <OtherPropery>ZZZZZZZ</OtherPropery>
         </MyProviderSettings>
        </value>
        </param>

我收到错误“无效元素MyProviderSettings”

1 个答案:

答案 0 :(得分:1)

根据文档,您可以为此定义自定义类型转换器。类型转换器将为任何类型的任何值转换字符串值。

<constructor>
<param name="param1">
    <value value="42" />
</param>
<param name="param2">
    <value value="aieou" typeConverter="VowelTypeConverter" />
</param>
</constructor>

http://msdn.microsoft.com/en-us/library/ff660914(v=pandp.20).aspx#config_value

http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx