2011-05-09 113 views
0

序列化類時,如果註釋了XmlIgnore屬性,則會出現錯誤。當我取消註釋的XmlIgnore屬性它工作正常。誰能告訴我爲什麼一個屬性不能被序列化?XmlIgnore的XML序列化相關問題

+1

專業提示:每當談論錯誤,***包括錯誤的詳細信息*** – 2011-05-09 05:45:10

回答

1

通常,它會告訴你爲什麼非常清楚的異常 - 特別是在InnerException;然而,概括地說:

對於自定義類型SomeType經由XmlSerializer是可序列化(或者作爲根對象或通過屬性,即public SomeType MemberName {get;set;}

  • 它必須是public
  • 它必須有一個公共參數構造函數
  • 幾類組合可能不支持
  • 它必須是預期(暴露數據01例如,是不可行的;的SomeType亞型必須提前通告,通常通過[XmlInclude(...)]
  • 它必須是具體的(非abstract),或具有通過[XmlInclude(...)]

使用[XmlIgnore]定義具體實現去除考慮的類型,所以類型的不是xml友好的可以避免。您也可以嘗試IXmlSerializable這些情況下