【问题标题】:Serializing derived class to XML将派生类序列化为 XML
【发布时间】:2016-06-27 20:22:40
【问题描述】:

我正在尝试序列化派生类并序列化派生类的属性和基类的属性。现在派生属性是序列化的,但基础属性不是。我错过了什么?基类型和派生类型都标记为 [Serializable]。

String SaveBody<T>(String bodyFile, T body) where T : FreeBody
{
    XmlSerializer serializer = new XmlSerializer(typeof(T));

    using (var xmlStream = new MemoryStream())
    using (TextWriter fileStream = new StreamWriter(xmlStream))
    {
        serializer.Serialize(fileStream, body);
        fileStream.Flush();
        xmlStream.Seek(0, SeekOrigin.Begin);
        String text = new StreamReader(xmlStream).ReadToEnd();
        File.WriteAllText(bodyFile, text);
        return text;
    }
}

【问题讨论】:

    标签: c# .net xml serialization xmlserializer


    【解决方案1】:

    我在问题上弄错了。未序列化的属性为空/空,因此序列化程序没有输出它们。将这些属性初始化为默认值会产生我预期的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多