3
在我當前的項目中,我使用FxCop來處理各種代碼分析警告。對於命名規則,我可以選擇更改名稱來匹配規則,或者決定保留當前的拼寫並壓制警告。關於標記爲[Serializable]
的類或屬性,我對名稱更改的影響感興趣。特別是,如何影響現有序列化數據的向後兼容性?可序列化類和名稱重構
在我當前的項目中,我使用FxCop來處理各種代碼分析警告。對於命名規則,我可以選擇更改名稱來匹配規則,或者決定保留當前的拼寫並壓制警告。關於標記爲[Serializable]
的類或屬性,我對名稱更改的影響感興趣。特別是,如何影響現有序列化數據的向後兼容性?可序列化類和名稱重構
如果更改字段名和需要讀取更改之前連載舊數據,那麼它可能會導致混亂。 BinaryFormatter
主要是一個基於字段(名稱)的序列化程序,它不會很高興。只要沒有外部代碼引用它(並確保運行你的單元測試),更改屬性和方法應該沒問題。可行的選項:手動序列化(ISerializable
)和序列化代理。很多痛苦。
如果您使用的是XmlSerializer
/DataContractSerialializer
,那麼您可以將序列化名稱單獨命名爲成員名稱,這樣很容易修復。
[XmlElement("Color")] // original spelling
public string Colour {get;set;} // now with the correct spelling ;-p
:和其他一些串行器完全不;-p
XmlSerializer
例如使用名稱