.NET でのシリアル化Serialization in .NET

シリアル化とは、オブジェクトの状態を永続化または転送できる形式に変換するプロセスのことです。Serialization is the process of converting the state of an object into a form that can be persisted or transported. シリアル化を補完するプロセスとして、ストリームをオブジェクトに変換する逆シリアル化があります。The complement of serialization is deserialization, which converts a stream into an object. これらのプロセスを組み合わせて使用することで、データを簡単に格納および転送できます。Together, these processes allow data to be easily stored and transferred.

.NET 機能では、次の 2 つのシリアル化テクノロジを採用しています。.NET features two serialization technologies:

  • バイナリ シリアル化は、型そのものを正確に維持するため、アプリケーションを次回起動するまでの間、オブジェクトの状態を維持するのに役立ちます。Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. たとえば、クリップボードを出力先としてオブジェクトをシリアル化することによって、そのオブジェクトを異なるアプリケーション間で共有できます。For example, you can share an object between different applications by serializing it to the Clipboard. オブジェクトをシリアル化して、ストリーム、ディスク、メモリ、ネットワーク上などに出力できます。You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. リモート処理では、シリアル化を使用して、コンピューター間やアプリケーション ドメイン間でオブジェクトを "値渡し" します。Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • XML シリアル化では、パブリック プロパティとパブリック フィールドのみがシリアル化され、型そのものは維持されません。XML serialization serializes only public properties and fields and does not preserve type fidelity. これは、データを使用するアプリケーションに制限を加えずに、データを提供または処理する場合に有効です。This is useful when you want to provide or consume data without restricting the application that uses the data. XML はオープン標準であるため、Web 経由でデータを共有する場合には有用な選択肢となります。Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP も同様のオープン標準であるため、有用な選択肢です。SOAP is likewise an open standard, which makes it an attractive choice.

このセクションの内容In This Section

シリアル化に関する「方法」トピックSerialization How-to Topics
このセクションに含まれている、方法を説明するトピックへのリンクの一覧を示します。Lists links to How-to topics contained in this section.

バイナリ シリアル化Binary Serialization
共通言語ランタイムに付属しているバイナル シリアル化機構について説明します。Describes the binary serialization mechanism that is included with the common language runtime.

XML シリアル化および SOAP シリアル化XML and SOAP Serialization
共通言語ランタイムに付属している XML シリアル化および SOAP シリアル化機構について説明します。Describes the XML and SOAP serialization mechanism that is included with the common language runtime.

シリアル化ツールSerialization Tools
これらのツールは、シリアル化コードの開発に役立ちます。These tools help develop serialization code.

シリアル化のサンプルSerialization Samples
サンプルでは、シリアル化の方法を示します。The samples demonstrate how to do serialization.

参照Reference

System.Runtime.Serializationオブジェクトのシリアル化と逆シリアル化に使用できるクラスが含まれています。System.Runtime.Serialization Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
オブジェクトを XML 形式のドキュメントまたはストリームにシリアル化するために使用できるクラスが含まれています。Contains classes that can be used to serialize objects into XML format documents or streams.