[英]Deserializing a boolean value with nullable attribute?
我正在使用C#將字符串反序列化回對象。 xml字符串看起來像
"<Authentication xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">
<Status>Success</Status>
<Available i:nil=\"true\"/>
</Authentication>"
通過將bool屬性設置為可空值來設法處理Available的同時,我只是想知道處理i:nil = \\“ true \\”的正確方法是什么?
除了將屬性Available屬性設置為可空值外,我還應該做其他事情嗎?
請注意,如果不將bool屬性設置為可空狀態,則會引發錯誤,即字符串“”無法轉換為bool,因此使nullable可以解決我的問題,但我只是想知道是否應該做更多的事情這個可為空
謝謝。
您的媒體資源應該可以為空。 XML明確告訴您該屬性可以為true
, false
或null
; 3是有效值,您的班級應該支持所有3。
除了使您的資產變得bool?
之外,您不需要執行其他任何操作bool?
; XmlSerializer
將在屬性為null
時正確處理i:nil="true"
讀寫。
只要確保您的代碼設計為在適用的情況下考慮null
值,就不會出現異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.