2016-06-27 4 views
0

파생 클래스를 serialize하고 파생 된 속성과 기본 속성을 serialize하려고합니다. 현재 파생 된 속성은 직렬화되지만 기본 속성은 직렬화되지 않습니다. 내가 뭘 놓치고 있니? 기본 유형과 파생 유형 모두 [Serializable]로 표시됩니다.파생 클래스를 XML로 serialize

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)/비어 있었으므로 직렬기를 출력하지 않았습니다. 이러한 속성을 기본값으로 초기화하면 예상 한 동작이 만들어졌습니다.