根據MSPRESS書(MCTS的考試70-536 .NET 2.0):反序列化對象的新成員
你可能有版本的兼容性問題,如果你曾經嘗試反序列化已經序列化的對象您的應用程序的早期版本。具體來說,如果您將成員添加到自定義類並試圖反序列化缺少該成員的對象,則運行時將引發異常。換句話說,如果您將某個成員添加到應用程序3.1版中的某個類中,它將無法反序列化由應用程序3.0版創建的對象。
Now ...和我一樣好奇,我創建了一個項目,序列化了一個類,添加了一個新成員,並嘗試將該類反序列化爲新對象。令我驚訝的是,它的工作原理和新創建的成員默認設置爲空(即使它有另一個默認值)。
我首先嚐試添加一個字符串作爲新成員,看到工作,然後我改變它到另一個自定義類,它仍然工作。
mspress錯了嗎?或者這種行爲是否可定製?
請注意,我是不是使用XML序列化。我正在使用BinaryFormatter序列化。
你使用了哪種序列化?AFAIK一些形式像二進制有這個問題,而其他形式如XML不。 – Mehrdad 2011-01-23 20:37:32
我正在使用BinaryFormatter序列化。 – PedroC88 2011-01-23 20:57:49