0

我有一個基類,另一個派生自它。我們假設,基類有20個成員,派生出5個成員。只有派生類是可序列化的。序列化/反序列化派生類

我實例化後,派生類的對象有全部25個成員。現在我怎麼才能序列化派生類的5個成員?當我使用「this」進行serizalize或反序列化時,整個班級(全部25個成員)被序列化,然後反序列化。

下面的代碼片段(不完整):

// Base class definition. 
public abstract class baseMyClass 
{ 
// declaration of members 
} 

... 

// Derived class definition. 
[Serializable] 
public sealed class MyDerivedClass : baseMyClass 
{ 
// declaration of members 
} 

... 

// Serializing the object. 
StringWriter writer = new StringWriter(); 
XmlSerializer xs = new XmlSerializer(typeof(MyDerivedClass)); 
xs.Serialize(writer, this); 

... 

// Deserializing the object. 
StringReader reader = new StringReader(System.Text.Encoding.UTF8.GetString(data)); 
XmlSerializer xs = new XmlSerializer(typeof(MyDerivedClass)); 
MyDerivedClass objMyDerivedClass = (MyDerivedClass)(xs.Deserialize(reader)); 

我找不到任何類似的例子。如果你知道一個,請告訴我。

感謝您的幫助。

回答

0

而是繼承的,我提出的類(可以是串行化)的父類的成員。父類不再是父類。我只是實例化這個類的對象,它將有一個可以序列化的成員對象。