什麼時候應該用[Serializable]屬性將類標記爲可序列化?文件說這個班不應該被遺傳。但是,我已經將這個屬性與XmlInclude屬性結合使用,以便我可以序列化我的派生類。這是不正確的?序列化和屬性
我正在使用XmlSerializer和StreamWriter類來序列化我的對象。
此外,我的理解告訴我,任何公共屬性(get和set)都將被序列化,其他字段將被忽略。這是否正確?
任何指導,將不勝感激。
感謝
什麼時候應該用[Serializable]屬性將類標記爲可序列化?文件說這個班不應該被遺傳。但是,我已經將這個屬性與XmlInclude屬性結合使用,以便我可以序列化我的派生類。這是不正確的?序列化和屬性
我正在使用XmlSerializer和StreamWriter類來序列化我的對象。
此外,我的理解告訴我,任何公共屬性(get和set)都將被序列化,其他字段將被忽略。這是否正確?
任何指導,將不勝感激。
感謝
我什麼時候應該標記一個類爲 序列化與[Serializable接口] 屬性?文檔說 該類不應該被繼承。 但是,我已將 與屬性XmlInclude 結合使用此屬性,所以我也可以序列化我的 派生類。這是 不正確?
我正在使用XmlSerializer和 StreamWriter類來序列化我的 對象。
您從不需要用於XML序列化的[Serializable]
屬性。它僅用於序列化與格式化(例如BinaryFormatter
,SoapFormatter
)
而且,我的理解告訴我,任何公共屬性(獲取和設置)將被序列化,其他領域都將被忽略。這是否正確?
這是正確的。只有公共讀/寫屬性是序列化的,而不是字段。
XmlSerializer不檢查此標誌;答案是「當使用BinaryFormatter(或其他一些;不是很多)而不實現ISerializable時」。
大多數串行器不使用此標誌。