シリアル化のサンプル

更新 : 2007 年 11 月

このソリューションでは、オブジェクトをシリアル化および逆シリアル化する方法を説明します。

サンプルとそのインストール手順を取得するには

  • 次のいずれかを実行します。

    • [ヘルプ] メニューの [サンプル] をクリックします。

      サンプルの情報を示す Readme が表示されます。

    • Visual Studio 2008 のサンプルの Web サイトにアクセスします。ここには、サンプルの最新版が掲載されています。

    • Visual Studio をインストールしたコンピュータで、サンプルを検索します。既定では、サンプルおよび Readme ファイルは drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid にインストールされています。Visual Studio の Express Edition については、すべてのサンプルがオンラインで提供されています。

詳細については、「サンプル ファイルの格納場所」を参照してください。

ms173034.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

このサンプルを実行するには

  • F5 キーを押します。

使用例

このアプリケーションでは 2 つのクラスを使用し、1 つは標準のシリアル化、もう 1 つはカスタムのシリアル化を実行します。ユーザー インターフェイスには、2 つのクラスをシリアル化および逆シリアル化するためのボタンが用意されています。標準のシリアル化を行うクラスは、SOAP ファイルまたはバイナリ ファイルにシリアル化できます。カスタムのシリアル化を行うクラスは、SOAP ファイルにシリアル化されます。SOAP ファイルの表示には TextBox コントロールを使用します。2 つのクラスはいずれも SerializableAttribute 属性を持ちます。これらのクラスの説明を次の表に示します。

クラスのメンバ

SerializationClass

CustomSerializationClass

PublicVariable

パブリック変数は変更なしでシリアル化および逆シリアル化されます。

パブリック変数は変更なしでシリアル化および逆シリアル化されます。

PublicProperty

プロパティをサポートするプライベート変数は変更なしでシリアル化および逆シリアル化されます。

プロパティをサポートするプライベート変数は、ユーザー インターフェイスで設定された値にかかわらず、-1 としてシリアル化されます。したがって、-1 として逆シリアル化されます。

NonSerializedVariable

この変数は、NonSerializedAttribute が設定されているため、シリアル化されません。パブリック変数はシリアル化されず、逆シリアル化された値は 0 です。

NonSerializedAttribute が設定されている変数ですが、カスタムのシリアル化によりこの設定がオーバーライドされているため、シリアル化されます。パブリック変数は変更なしでシリアル化および逆シリアル化されます。

3 種類のシリアル化の例が示されます。

  • SOAP 形式   Class1 は SoapFormatter クラスを使用してシリアル化されます。

  • バイナリ形式   Class1 は BinaryFormatter クラスを使用してシリアル化されます。

  • カスタム形式   Class2 は ISerializable インターフェイスを実装しており、カスタムのシリアル化を実行するための GetObjectData メソッドが含まれています。

参照

参照

System.Runtime.Serialization.Formatters.Soap

Serialize

Deserialize

ISerializable

GetObjectData

SerializableAttribute