我需要从一个包含子类的类中生成XML,该子类可以是许多不同类之一。
所以我创建了一个dynamic
属性
[Serializable]
[XmlInclude(typeof(AA))]
public class AA
{
[XmlElement("PAKETE_AIT_ISLEM_ZAMANI")]
public string PAKETE_AIT_ISLEM_ZAMANI { get; set; }
}
public class SYSMessage
{
[XmlElement("messageGuid")]
public messageGuid messageGuid { get; set; } = new messageGuid();
[XmlElement("messageType")]
public messageType messageType { get; set; } = new messageType();
[XmlElement("recordData")]
public dynamic recordData { get; set; }
}
这是我的用法:
AA a = new AA ();
var s= new SYSMessage();
s.recordData = a;
var result= SerializeToString(s);
但是,它将引发以下异常
使用XmlInclude或SoapInclude属性来指定用于 并不是一成不变的
如果我删除了dynamic
属性,它可以正常工作。如何通过动态设置的子类获取XML输出?