多型的實現序列化,乍一聽有點蒙,其實就是序列化的時候序列化子類,反序列化的時候能多型的反序列化出子類來。
舉例來說,下面的**,定義了三個類classtoserialize是父類,concreteclasstoserializea 和concreteclasstoserializeb 子類。
當我們序列化是序列化concreteclasstoserializea,反序列化的時候我們希望反序列化出concreteclasstoserializea物件,而不是concreteclasstoserializeb ,更不是classtoserialize。
[serializable][xmlinclude(
typeof
(concreteclasstoserializea))]
[xmlinclude(
typeof
(concreteclasstoserializeb))]
public
class
classtoserialize
//public bool canexecute(string name)
//}[serializable]
public
class
concreteclasstoserializea : classtoserialize
}[serializable]
public
class
concreteclasstoserializeb : classtoserialize
}
要想實現上述的需求,基類上必須新增[xmlinclude(typeof(concreteclasstoserializeb))]這樣的屬性。
publicstatic
void
serializenow()
public
static
void
deserializenow()
注意xmlserializer例項化的型別都是typeof(classtoserialize)。
序列化(序列化)
原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...
序列化與反序列化,Java實現
public class serializingutil catch ioexception e finally catch ioexception e return byteout.tobytearray 功能簡述 將位元組陣列反序列化為實體bean.param source 需要進行反序列化的位...
C 實現序列化和反序列化
從我們面試準備上面,我知道了乙個知識點,就是我們vs提供的序列化方法有兩個,乙個叫二進位制序列化,乙個叫做xml序列化,下面我們說一下二進位制序列化的c 實現 反序列化 public static t desrialize t obj,string str catch exception ex re...