MSDN ライブラリ
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DataContractSerializer クラス

2013/12/12

型のインスタンスを、提供されたデータ コントラクトを使用する XML ストリームまたはドキュメントにシリアル化および逆シリアル化します。このクラスは継承できません。

System.Object
  System.Runtime.Serialization.XmlObjectSerializer
    System.Runtime.Serialization.DataContractSerializer

Namespace:  System.Runtime.Serialization
アセンブリ:  System.Runtime.Serialization (System.Runtime.Serialization.dll 内)

'宣言
Public NotInheritable Class DataContractSerializer _
	Inherits XmlObjectSerializer

DataContractSerializer 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドDataContractSerializer(Type)DataContractSerializer クラスの新しいインスタンスを初期化して、指定された型のオブジェクトをシリアル化または逆シリアル化します。
パブリック メソッドDataContractSerializer(Type, IEnumerable(Of Type))DataContractSerializer クラスの新しいインスタンスを初期化し、指定された型のオブジェクトと、オブジェクト グラフにある既知の型のコレクションをシリアル化または逆シリアル化します。
パブリック メソッドDataContractSerializer(Type, DataContractSerializerSettings)DataContractSerializer クラスの新しいインスタンスを初期化して、指定された型および設定のオブジェクトをシリアル化または逆シリアル化します。
パブリック メソッドDataContractSerializer(Type, String, String)DataContractSerializer クラスの新しいインスタンスを初期化し、提供された XML ルート要素および名前空間を使用して、指定された型のオブジェクトをシリアル化または逆シリアル化します。
パブリック メソッドDataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)DataContractSerializer クラスの新しいインスタンスを初期化し、XmlDictionaryString 型のパラメーターで指定された XML ルート要素および名前空間を使用して、指定された型のオブジェクトをシリアル化または逆シリアル化します。
パブリック メソッドDataContractSerializer(Type, String, String, IEnumerable(Of Type))DataContractSerializer クラスの新しいインスタンスを初期化して、指定された型のオブジェクトをシリアル化または逆シリアル化します。このメソッドは、オブジェクト グラフにある既知の型のリストのほか、2 つの文字列パラメーターのルート XML 要素および名前空間も指定します。
パブリック メソッドDataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable(Of Type))DataContractSerializer クラスの新しいインスタンスを初期化して、指定された型のオブジェクトをシリアル化または逆シリアル化します。このメソッドは、オブジェクト グラフにある既知の型のリストのほか、2 つの XmlDictionaryString パラメーターのルート XML 要素および名前空間も指定します。
このページのトップへ

  名前説明
パブリック プロパティIgnoreExtensionDataObjectクラスがシリアル化または逆シリアル化されているときにクラスの拡張によって提供されるデータを無視するかどうかを指定する値を取得します。
パブリック プロパティKnownTypesDataContractSerializer のインスタンスを使用してシリアル化されたオブジェクト グラフに存在する型のコレクションを取得します。
パブリック プロパティMaxItemsInObjectGraphシリアル化または逆シリアル化するオブジェクトグラフの項目の最大数を取得します。
パブリック プロパティPreserveObjectReferences非標準 XML コンストラクトを使用してオブジェクト参照データを保持するかどうかを指定する値を取得します。
パブリック プロパティSerializeReadOnlyTypes読み取り専用の型をシリアル化するかどうかを指定する値を取得します。
このページのトップへ

  名前説明
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドIsStartObject(XmlDictionaryReader)XmlDictionaryReader が逆シリアル化できるオブジェクト上に配置されているかどうかを判別します。 (XmlObjectSerializer.IsStartObject(XmlDictionaryReader) をオーバーライドします。)
パブリック メソッドIsStartObject(XmlReader)XmlReader が逆シリアル化できるオブジェクト上に配置されているかどうかを判別します。 (XmlObjectSerializer.IsStartObject(XmlReader) をオーバーライドします。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドReadObject(Stream)Stream で XML ストリームまたはドキュメントを読み取り、逆シリアル化されたオブジェクトを返します。 (XmlObjectSerializer から継承されます。)
パブリック メソッドReadObject(XmlDictionaryReader)XmlDictionaryReader で XML ドキュメントまたはストリームを読み取り、逆シリアル化されたオブジェクトを返します。 (XmlObjectSerializer から継承されます。)
パブリック メソッドReadObject(XmlReader)XmlReader で XML ストリームを読み取り、逆シリアル化されたオブジェクトを返します。 (XmlObjectSerializer.ReadObject(XmlReader) をオーバーライドします。)
パブリック メソッドReadObject(XmlDictionaryReader, Boolean)XmlDictionaryReader で XML ストリームを読み取って逆シリアル化されたオブジェクトを返し、値を読み取る前にオブジェクト名を検証するチェックを行うかどうかを指定します。 (XmlObjectSerializer.ReadObject(XmlDictionaryReader, Boolean) をオーバーライドします。)
パブリック メソッドReadObject(XmlReader, Boolean)XmlReader で XML ストリームを読み取って逆シリアル化されたオブジェクトを返し、値を読み取る前にオブジェクト名を検証するチェックを行うかどうかを指定します。 (XmlObjectSerializer.ReadObject(XmlReader, Boolean) をオーバーライドします。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドWriteEndObject(XmlDictionaryWriter)XmlDictionaryWriter を使用して、終了 XML 要素を書き込みます。 (XmlObjectSerializer.WriteEndObject(XmlDictionaryWriter) をオーバーライドします。)
パブリック メソッドWriteEndObject(XmlWriter)XmlWriter を使用して、終了 XML 要素を書き込みます。 (XmlObjectSerializer.WriteEndObject(XmlWriter) をオーバーライドします。)
パブリック メソッドWriteObject(Stream, Object)指定された Stream により、オブジェクトの完全なコンテンツ (開始、コンテンツ、および終了) を XML ドキュメントまたはストリームに書き込みます。 (XmlObjectSerializer から継承されます。)
パブリック メソッドWriteObject(XmlDictionaryWriter, Object)指定された XmlDictionaryWriter により、オブジェクトの完全なコンテンツ (開始、コンテンツ、および終了) を XML ドキュメントまたはストリームに書き込みます。 (XmlObjectSerializer から継承されます。)
パブリック メソッドWriteObject(XmlWriter, Object)XmlWriter を使用して、すべてのオブジェクト データ (開始 XML 要素、コンテンツ、終了要素) を XML ドキュメントまたはストリームに書き込みます。 (XmlObjectSerializer.WriteObject(XmlWriter, Object) をオーバーライドします。)
パブリック メソッドWriteObjectContent(XmlDictionaryWriter, Object)XmlDictionaryWriter を使用して XML コンテンツを書き込みます。 (XmlObjectSerializer.WriteObjectContent(XmlDictionaryWriter, Object) をオーバーライドします。)
パブリック メソッドWriteObjectContent(XmlWriter, Object)XmlWriter を使用して XML コンテンツを書き込みます。 (XmlObjectSerializer.WriteObjectContent(XmlWriter, Object) をオーバーライドします。)
パブリック メソッドWriteStartObject(XmlDictionaryWriter, Object)XmlDictionaryWriter を使用して、開始 XML 要素を書き込みます。 (XmlObjectSerializer.WriteStartObject(XmlDictionaryWriter, Object) をオーバーライドします。)
パブリック メソッドWriteStartObject(XmlWriter, Object)XmlWriter を使用して、開始 XML 要素を書き込みます。 (XmlObjectSerializer.WriteStartObject(XmlWriter, Object) をオーバーライドします。)
このページのトップへ

型のインスタンスを XML ストリームまたはドキュメントにシリアル化および逆シリアル化するには、DataContractSerializer クラスを使用します。たとえば、名前や住所など、重要なデータを含むプロパティを使用して、Person という名前の型を作成することができます。その後、Person クラスのインスタンスを作成して操作し、そのプロパティ値のすべてを、以降で取得する場合は XML ドキュメントに、すぐに転送する場合は XML ストリームに書き込みます。最も重要なのは、DataContractSerializer を使用して、Windows Phone メッセージで送信されたデータをシリアル化および逆シリアル化する場合です。クラスに DataContractAttribute 属性を適用し、クラスのメンバーに DataMemberAttribute 属性を適用して、シリアル化するプロパティとフィールドを指定します。

DataContractSerializer を使用するには、最初にクラスのインスタンスと、形式の書き込みまたは読み取りに適したオブジェクトを作成します。たとえば、XmlDictionaryWriter などです。次に、データを保持するために、WriteObject メソッドを呼び出します。データを取得するには、データ形式 (XML ドキュメントの XmlDictionaryReader など) の読み取りに適したオブジェクトを作成し、ReadObject メソッドを呼び出します。

シリアル化または逆シリアル化のためのクラスの準備

DataContractSerializer は、DataContractAttribute クラスと DataMemberAttribute クラスを組み合わせて使用します。シリアル化のクラスを準備するには、クラスに DataContractAttribute を適用します。シリアル化するデータを返すクラスの各メンバーに、DataMemberAttribute を適用します。フィールドとプロパティは、パブリックにアクセスされるものであれば、シリアル化できます。

たとえば、スキーマで ID プロパティを持つ Customer を指定する場合、すでに Person という名前の型を使用する既存のアプリケーションがあり、Name プロパティが設定されているとします。コントラクトに準拠する型を作成するには、最初にクラスに DataContractAttribute を適用します。次に、シリアル化するすべてのフィールドまたはプロパティに、DataMemberAttribute を適用します。

XML の最終形式はテキストである必要はありません。代わりに、DataContractSerializer が XML Infoset としてデータを書き込みます。これにより、XmlReaderXmlWriter で認識された任意の形式にデータを書き込むことができます。読み取りと書き込みには XmlDictionaryReader クラスと XmlDictionaryWriter クラスを使用することをお勧めします。どちらも、DataContractSerializer での使用に最適化されているからです。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2016 Microsoft