多型的實現序列化

2022-08-31 23:45:24 字數 1063 閱讀 6191

多型的實現序列化,乍一聽有點蒙,其實就是序列化的時候序列化子類,反序列化的時候能多型的反序列化出子類來。

舉例來說,下面的**,定義了三個類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))]這樣的屬性。

public

static

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...