2016-06-27 9 views
0

私は派生クラスをシリアル化し、派生プロパティとベースプロパティの両方をシリアル化しようとしています。現在、派生プロパティは直列化されていますが、基本プロパティは直列化されていません。私は何が欠けていますか?基本型と派生型の両方が[Serializable]とマークされています。派生クラスをXMLにシリアライズ

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; 
    } 
} 

答えて

0

私はこの問題で間違いました。シリアル化されていないプロパティはnull /空であったため、シリアライザはそれらを出力しませんでした。これらのプロパティをデフォルトに初期化すると、期待した動作が作成されました。

関連する問題