我有一个看起来像这样的XML配置文件:如何转换参数“空”为空
<register type='MyType'>
<constructor>
...
<param name='myString' value='null'/>
...
</constructor>
</register>
如何将字符串"null"
转换成null
价值?
我已经试过指定value=''
但我得到的错误:
The attribute value must be present and non-empty.
并试图<param name='myString'/>
这给错误
The type String cannot be constructed. You must configure the container to supply this value.
最后(这是什么this page似乎暗示)
<instance name='myStringVal' />
<register type='MyType'>
<constructor>
...
<param name='myString' dependencyName='myStringVal'/>
...
</constructor>
</register>
其中抛出一个ArgumentNullException
编辑:现在我也曾尝试optional
标签
<register type='MyType'>
<constructor>
...
<param name='myString'>
<optional />
</param>
...
</constructor>
</register>
这也引发ArgumentNullException
注:有关this和this(也可能是几个人),但这些是关于C#中的配置,我想用XML配置。
为什么不是'if(value.Equals(”null“)){value = null; }'? –
@ ThePcLuddite - 这看起来像是一个真正的黑客:我将通过特殊处理来污染MyType,这只与我在Unity中使用时相关。 – Jonny