簡體   English   中英

反序列化具有nullable屬性的布爾值?

[英]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明確告訴您該屬性可以為truefalsenull 3是有效值,您的班級應該支持所有3。

除了使您的資產變得bool?之外,您不需要執行其他任何操作bool? ; XmlSerializer將在屬性為null時正確處理i:nil="true"讀寫。

只要確保您的代碼設計為在適用的情況下考慮null值,就不會出現異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM