次のコードでコンテンツをシリアル化する従来の方法を使用しています
private void SaveToXml(IdentifiableEntity IE)
{
try
{
XmlSerializer serializer = new XmlSerializer(IE.GetType());
TextWriter textWriter = new StreamWriter(IE.FilePath);
serializer.Serialize(textWriter, IE);
textWriter.Close();
}
catch (Exception e )
{
Console.WriteLine("erreur : "+ e);
}
}
private T LoadFromXml<T>(string path)
{
XmlSerializer deserializer = new XmlSerializer(typeof(T));
TextReader textReader = new StreamReader(path);
T entity = (T)deserializer.Deserialize(textReader);
textReader.Close();
return entity;
}
このアプローチはうまくいきますが、すべてのプロパティを公開する必要があり、時々プロパティにタグを付ける必要があるのは少し面倒です [XmlAttribute|XmlElement| XmlIgnore] であり、辞書を扱わないことです。
私の質問は: C# でオブジェクトをシリアル化するより良い方法はありますか?