C# Programming

Image

シリアライズ、デシリアライズ

開発環境: Visual Studio 2003 

改訂履歴
2007/8/19誤りを修正。
2003/3/30誤りを修正。
2003/12/6誤りを修正。川俣さんのご指摘を受けて、Open で既存のファイルを上書きしているため、ゴミが残っているバグを修正。

 

1.目次

2.参考

1.MSDN .NET Framework 2.0 コア機能解説 〜 第 9 回 シリアル化 〜

3.シリアライズ、デシリアライズの概念

たとえば、UI のお好み設定などのオブジェクトの状態をファイルにとっておきたい場合がありますよね。そんなときに使います。
シリアライズは、オブジェクトのメンバーを 文字通りファイルのような連続データに落とすこと。
デシリアライズは、逆にファイルなどの連続データから、オブジェクトのデータに戻すことを意味しています。

シリアライズ、デシリアライズするためには、.NET では次のクラスが用意されています。
形式クラスライブラリ
バイナリー形式BinaryFormatter
Soap準拠XML形式SoapFormatter
XML形式XmlSerializer

あるクラスをシリアル化可能にしたい場合には、[Serializable]属性を付加するだけです。具体的な例に関しては、MSDN .NET Framework 2.0 コア機能解説 〜 第 9 回 シリアル化 〜 に中さんがとてもわかりやすく解説されていますので、ご参照ください。