序列化的System.Drawing.Color我使用默認的.NET序列化與一個System.Drawing.Color成員的類。該代碼現在正在被人們使用,我需要爲該類添加額外的成員,但仍舊反序列化舊版本。在.NET
所以,我想這樣做的標準方式:ISerializable接口,使用的SerializationInfo方法來獲取int和string成員。
問題:我的班級也有一個System.Drawing.Color成員,但SerializationInfo中不提供「GETCOLOR」方法來讀取這些數據類型。我試着得到它作爲一個int和一個字符串,它鑄造的System.Drawing.Color,但沒有運氣。
有誰知道如何反序列化從SerializationInfo中一個System.Drawing.Color?
感謝您的答案。不幸的是[OptionalField]只能用於BinaryFormatter(我正在使用SoapFormatter)。 你的GetValue的建議編制的,但現在我得到異常:「頂部對象不能被實例化的元素‘前景色’」(前景色是我試圖反序列化的元素。) 任何想法是什麼原因導致這個錯誤,或者備用方法?謝謝! – user20493 2010-03-24 18:44:34