serialize
での方法と方法を学びdeserialize
objects
ましXML
たC#
。ここで、この機能をアプリケーションに追加したいと思いclass
ますobject
。およびメソッドclass
を含むを作成する必要がありますか?または、何かがあるべきですか?serialize
deserialize
Interface
これは通常どのように行われますか?
serialize
での方法と方法を学びdeserialize
objects
ましXML
たC#
。ここで、この機能をアプリケーションに追加したいと思いclass
ますobject
。およびメソッドclass
を含むを作成する必要がありますか?または、何かがあるべきですか?serialize
deserialize
Interface
これは通常どのように行われますか?
オブジェクトとシリアル化メカニズムを分離しておくのが最善です。DataContractSerializersは.Netでこれに適しています。これらを使用すると、(上記のコメントで述べたように)データ注釈をプロパティに指定して、実際のシリアル化を自動化できます。
クラスがシリアル化のために十分に単純である場合、これを行うことができます。
using (FileStream stream = File.Create(filename)){
XmlSerializer serializer = new XmlSerializer(typeof(MyRootClassHere));
serializer .Serialize(stream, yourRootInstance);
}
出力をより適切に制御するには、XmlElement、XmlAttribute、XmlIgnore、XmlText属性を確認する必要がある場合があります。
[XmlIgnore]
public bool IgnoredBool{ get; set; }
[XmlAttribute("NewXmlName")]
public string RenamedProperty{ get; set; }
これで、ほとんどの部分を実行できるはずです。
インターフェース (ISerializable) がありますが、存在し、あなたのために仕事をすることができるジェネリック クラスもあります。その場合、シリアル化するプロパティに適切な属性を配置する必要があります。
これに関するドキュメントが必要な場合は、こちらをご覧ください。
.Net には組み込みのシリアライザーがいくつかあります (BinaryFormatter および XmlSerializer
インターフェイスを使用する場合は、独自のメソッドを作成する必要があります