我有一個看起來像這樣的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