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

而是继承的,我提出的类(可以是串行化)的父类的成员。父类不再是父类。我只是实例化这个类的对象,它将有一个可以序列化的成员对象。