次の方法で共有


基本的なシリアル化の技術サンプル

このサンプルでは、メモリ内のオブジェクト グラフをシリアル化してストリームに変換する、共通言語ランタイムの機能の例を示します。このサンプルでは、SoapFormatter または BinaryFormatter のいずれかを使用して、シリアル化を行います。データを格納したリンク リストは、ファイル ストリームとの間でシリアル化または逆シリアル化されます。いずれの場合でも、リストが表示されるので、結果を参照できます。このリンク リストは LinkedList の一種で、このサンプルで定義してある型です。

シリアル化の詳細については、ソース コード ファイルおよび build.proj ファイル内のコメントを参照してください。

コマンド プロンプトを使用してサンプルをビルドするには

  1. コマンド プロンプトを使用して、Technologies\Serialization\Runtime Serialization\Basic ディレクトリにある、言語固有のサブディレクトリのいずれかに移動します。

  2. 使用しているプログラミング言語に応じて、コマンド ラインで、「msbuild SerializationCS.sln」、「msbuild SerializationJSL.sln」、または「msbuild SerializationVB.sln」と入力します。

Visual Studio を使用してサンプルをビルドするには

  1. Windows エクスプローラーを開き、サンプルが格納されている、言語固有のサブディレクトリのいずれかに移動します。

  2. 使用しているプログラミング言語に応じて、SerializationCS.sln ファイル、SerializationJSL.sln ファイル、または SerializationVB.sln ファイルのアイコンをダブルクリックして、このファイルを Visual Studio で開きます。

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。

サンプル アプリケーションは、既定の \bin サブディレクトリまたは \bin\Debug サブディレクトリにビルドされます。

サンプルを実行するには

  1. ビルドした実行可能ファイルが格納されているディレクトリに移動します。

  2. コマンド ラインで、「Serialization.exe」と入力し、任意のパラメーター値を指定します。

    s4w7yaw2.note(ja-jp,VS.100).gif注 :
    このサンプルでは、コンソール アプリケーションをビルドします。出力を表示するには、コマンド プロンプトでこれを実行する必要があります。

解説

このサンプル アプリケーションは、実行するテストを示すコマンド ライン パラメーターを受け取ります。SOAP フォーマッタを使用して、ノード数 10 個のリストを Test.xml というファイルにシリアル化するには、「sx Test.xml 10」というパラメーターを使用します。

たとえば、次のように入力します。

Serialize.exe -sx Test.xml 10

前例の Test.xml ファイルを逆シリアル化するには、「dx Test.xml」というパラメーターを使用します。

たとえば、次のように入力します。

Serialize.exe -dx Test.xml

上の 2 つの例で、コマンド ライン スイッチに指定した "x" は、XML SOAP シリアル化を行うことを示しています。バイナリ シリアル化を使用するには、代わりに "b" を使用します。ノード数が非常に多いデータをシリアル化する場合は、コンソール出力をファイルにリダイレクトすると便利です。

たとえば、次のように入力します。

Serialize.exe -sb Test.bin 10000 >somefile.txt

このサンプルで使用するクラスと技術についての簡単な説明を、以下に箇条書きします。

  • ランタイム シリアル化

    • IFormatter は、BinaryFormatter オブジェクトまたは SoapFormatter オブジェクトを参照するために使用します。

    • BinaryFormatter は、リンク リストをバイナリ形式のストリームにシリアル化するために使用します。バイナリ フォーマッタでは、BinaryFormatter 型でのみ理解できる形式を使用します。ただし、データは簡潔です。

    • SoapFormatter は、リンク リストを SOAP 形式のストリームにシリアル化するために使用します。SOAP は標準の形式です。

  • ストリーム入出力

    • Stream は、シリアル化および逆シリアル化に使用します。このサンプルで使用する特有のストリーム型として、FileStream 型があります。ただし、シリアル化は、Stream から派生する任意の型で行うことができます。

    • File は、ディスク上のファイルを読み込み、作成するための FileStream オブジェクトを作成するために使用します。

    • FileStream は、リンク リストのシリアル化および逆シリアル化に使用します。

参照

リファレンス

BinaryFormatter クラス
File クラス
FileStream クラス
IFormatter インターフェイス
Random クラス
SerializableAttribute 属性
SoapFormatter クラス
Stream クラス
System.IO 名前空間
System.Runtime.Serialization 名前空間
System.Xml.Serialization 名前空間

概念

基本的なシリアル化
属性を使用した XML シリアル化の制御
XML シリアル化の概要

その他のリソース

バイナリ シリアル化
シリアル化
SOAP Service
XML シリアル化および SOAP シリアル化

ビルド日:2010-03-10