只要属性Object列表中包含通用字段的实际类型,就可以按预期将以下类的对象序列化为XML XmlElement:
public class SerializedObject<T> : Serializable where T : Serializable
{
[System.Xml.Serialization.XmlElement(Type = typeof(Weapon))]
[System.Xml.Serialization.XmlElement(Type = typeof(Armor))]
[System.Xml.Serialization.XmlElement(Type = typeof(QuestItem))]
public T Object;
public string ObjectId;
public int ID;
public SerializedObject() { }
public SerializedObject(T _object)
{
Object = _object;
ID = Object.Id;
ObjectId = Object.ObjectId;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:
如何在Object不为Tin XmlElement属性指定所有可能类型的情况下序列化此类的对象(包括通用字段)?