私は今シリアライゼーションの作業を始めています。ここで質問した後、クラスをシリアライズ可能にしたと思います。
シリアル化メソッドを上記のクラス内に配置することは、良い、悪い、依存する、または無関心な設計と見なされるのでしょうか。
このようなクラスがあるとします。
[XmlRoot("Settings")]
public class SerializableClass
{
public SerializableClass() { }
[XmlElement("PropertyOne")]
public String PropertyString { get; set; }
[XmlElement("PropertyTwo")]
public int PropertyInt { get; set; }
public Object PropertyObject { get; set; }
}
このようなメソッドを追加して、オブジェクト自体を (逆) シリアル化することは理にかなっていますか?
public String SerializeMe()
{
XmlSerializer serializer = new XmlSerializer(typeof(SerializableClass));
StringWriter writer = new StringWriter();
serializer.Serialize(writer, this);
return writer.ToString();
}
public static SerializableClass DeSerialize(String input)
{
StringReader reader = new StringReader(input);
XmlSerializer serializer = new XmlSerializer(SerializableClass);
return xmlSerializer.Deserialize(reader) as SerializableClass;
}
もちろん、これらをtry-catchで実装し、ある種のファイルリーダーを使用して、パスのみを指定します。それは実行可能ですか?おすすめされた?一般?(私が実装したシリアライゼーションを使用したことがないので、質問が奇妙に思われる場合はご容赦ください。)