我有一個基類,另一個派生自它。我們假設,基類有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));
我找不到任何類似的例子。如果你知道一個,請告訴我。
感謝您的幫助。