DataContractSerializer コンストラクター

定義

DataContractSerializer クラスの新しいインスタンスを初期化します。

オーバーロード

名前 説明
DataContractSerializer(Type)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、コンテンツを含む XML 要素と名前空間を指定する XmlDictionaryString のパラメーターを指定します。 および実行時に xsi:type 宣言をマッピングするための代替手段。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、コンテンツを含む XML 要素および名前空間を指定します。 および実行時に xsi:type 宣言をマッピングするための代替手段。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、およびコンテンツを含む XML 要素と名前空間を指定する XmlDictionaryString のパラメーターも指定します。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ 項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、およびコンテンツを含む XML 要素と名前空間も指定します。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために標準以外の XML コンストラクトを使用するかどうか、およびカスタム シリアル化のサロゲートも指定します。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、および実行時に xsi:type 宣言をマッピングするための代替手段も指定します。

DataContractSerializer(Type, String, String, IEnumerable<Type>)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、ルート XML 要素と名前空間も 2 つの文字列パラメーターに指定し、オブジェクト グラフに存在する可能性がある既知の型の一覧も指定します。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

DataContractSerializer型のパラメーターで指定された XML ルート要素と名前空間を使用して、指定した型のオブジェクトをシリアル化または逆シリアル化するために、XmlDictionaryString クラスの新しいインスタンスを初期化します。

DataContractSerializer(Type, String, String)

指定した XML ルート要素と名前空間を使用して、指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

DataContractSerializer(Type, DataContractSerializerSettings)

指定した型と設定のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

DataContractSerializer(Type, IEnumerable<Type>)

指定した型のオブジェクトと、オブジェクト グラフに存在する既知の型のコレクションをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、2 つの XmlDictionaryString パラメーターのルート XML 要素と名前空間、およびオブジェクト グラフに存在する可能性がある既知の型の一覧も指定します。

DataContractSerializer(Type)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

public:
 DataContractSerializer(Type ^ type);
public DataContractSerializer(Type type);
new System.Runtime.Serialization.DataContractSerializer : Type -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

次の例では、シリアル化または逆シリアル化する型を指定する DataContractSerializer のインスタンスを作成します。

public static void Constructor1()
{
    // Create an instance of the DataContractSerializer.
    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person));
    // Other code not shown.
}
 Public Shared Sub Constructor1() 
     ' Create an instance of the DataContractSerializer.
     Dim ser As New DataContractSerializer(GetType(Person))

     ' Other code not shown.    
 End Sub

適用対象

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、コンテンツを含む XML 要素と名前空間を指定する XmlDictionaryString のパラメーターを指定します。 および実行時に xsi:type 宣言をマッピングするための代替手段。

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
XmlDictionaryString

シリアル化または逆シリアル化するコンテンツを囲む XML 要素。

rootNamespace
XmlDictionaryString

シリアル化または逆シリアル化するコンテンツを囲む XML 要素の名前空間。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

dataContractResolver
DataContractResolver

DataContractResolver宣言をデータ コントラクト型にマップするxsi:typeの実装。

適用対象

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、コンテンツを含む XML 要素および名前空間を指定します。 および実行時に xsi:type 宣言をマッピングするための代替手段。

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素。

rootNamespace
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素の名前空間。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

dataContractResolver
DataContractResolver

DataContractResolver宣言をデータ コントラクト型にマップするxsi:typeの実装。

適用対象

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、およびコンテンツを含む XML 要素と名前空間を指定する XmlDictionaryString のパラメーターも指定します。

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
XmlDictionaryString

シリアル化または逆シリアル化するコンテンツを囲む XML 要素を指定する XmlDictionaryString

rootNamespace
XmlDictionaryString

ルートの XML 名前空間を指定する XmlDictionaryString

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

例外

項目の数が最大値を超えています。

次の例では、シリアル化または逆シリアル化する型、ルート XML 要素と名前空間 (DataContractSerializer パラメーター)、および逆シリアル化中に使用される型を含むXmlDictionaryStringのインスタンスを指定するIEnumerable<T>のインスタンスを作成します。 また、このコードでは、ignoreExtensionDataObjectパラメーターとpreserveObjectReferences パラメーターをtrueに設定し、レガシ型 (IDataContractSurrogate属性が適用されていない型) を処理するDataContractAttribute インターフェイスの実装を指定します。 詳細については、 IDataContractSurrogate ドキュメントを参照してください。

public static void Constructor9()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value,
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);

    // Other code not shown.
}
Public Shared Sub Constructor9() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))
    
    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value, _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
    mySurrogate)

    ' Other code not shown.    

End Sub

こちらもご覧ください

適用対象

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ 項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、およびコンテンツを含む XML 要素と名前空間も指定します。

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素。

rootNamespace
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素の名前空間。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

例外

項目の数が最大値を超えています。

次の例では、シリアル化または逆シリアル化する型、ルート XML 要素と名前空間、および逆シリアル化中に使用される型を含むDataContractSerializerのインスタンスを指定するIEnumerable<T>のインスタンスを作成します。 また、このコードでは、ignoreExtensionDataObjectパラメーターとpreserveObjectReferences パラメーターをtrueに設定し、レガシ型 (IDataContractSurrogate属性が適用されていない型) を処理するDataContractAttribute インターフェイスの実装を指定します。 詳細については、 IDataContractSurrogate ドキュメントを参照してください。

public static void Constructor8()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        @"http://www.contoso.com",
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);

    // Other code not shown.
}
Public Shared Sub Constructor8() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()

    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com", _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
    mySurrogate)

    ' Other code not shown.
End Sub

こちらもご覧ください

適用対象

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために標準以外の XML コンストラクトを使用するかどうか、およびカスタム シリアル化のサロゲートも指定します。

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。 既定値は 、Int32.MaxValue プロパティによって返される値です。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

例外

項目の数が最大値を超えています。

次の例では、シリアル化または逆シリアル化する型を指定する DataContractSerializer のインスタンスと、シリアル化または逆シリアル化中に使用される既知の型を格納する IEnumerable<T> のインスタンスを作成します。 また、このコードでは、ignoreExtensionDataObjectパラメーターとpreserveObjectReferences パラメーターをtrueに設定し、レガシ型 (IDataContractSurrogate属性が適用されていない型) を処理するDataContractAttribute インターフェイスの実装を指定します。 詳細については、 IDataContractSurrogate ドキュメントを参照してください。

public static void Constructor7()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);
    // Other code not shown.
}
Public Shared Sub Constructor7() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()

    Dim ser As New DataContractSerializer(GetType(Person), _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
     mySurrogate)

    ' Other code not shown.
End Sub

こちらもご覧ください

適用対象

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドでは、オブジェクト グラフに存在する可能性がある既知の型の一覧、シリアル化するグラフ項目の最大数、予期しないデータを無視するパラメーター、グラフ内のオブジェクト参照データを保持するために非標準 XML コンストラクトを使用するかどうか、カスタム シリアル化のサロゲート、および実行時に xsi:type 宣言をマッピングするための代替手段も指定します。

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

maxItemsInObjectGraph
Int32

シリアル化または逆シリアル化するグラフ内の項目の最大数。 既定値は 、Int32.MaxValue プロパティによって返される値です。

ignoreExtensionDataObject
Boolean

true シリアル化および逆シリアル化時に型の拡張によって提供されるデータを無視する場合。それ以外の場合は false

preserveObjectReferences
Boolean

true 非標準 XML コンストラクトを使用してオブジェクト参照データを保持する場合。それ以外の場合は false

dataContractSurrogate
IDataContractSurrogate

シリアル化プロセスをカスタマイズするための IDataContractSurrogate の実装。

dataContractResolver
DataContractResolver

DataContractResolver宣言をデータ コントラクト型にマップするxsi:typeの実装。

注釈

Warning

このメソッドは、Windows ストア アプリでは使用できません。

適用対象

DataContractSerializer(Type, String, String, IEnumerable<Type>)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 このメソッドでは、ルート XML 要素と名前空間も 2 つの文字列パラメーターに指定し、オブジェクト グラフに存在する可能性がある既知の型の一覧も指定します。

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type))

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
String

コンテンツのルート要素名。

rootNamespace
String

ルート要素の名前空間。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する可能性がある型を含むIEnumerable<T>Type

次の例では、シリアル化または逆シリアル化する型、および XML ドキュメントの読み取りまたは書き込みを行う XML 名と名前空間を指定する DataContractSerializer のインスタンスを作成します。 コードでは、シリアル化または逆シリアル化中に使用される既知の型を格納する IEnumerable<T> のインスタンスも作成されます。

public static void Constructor5()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        @"http://www.contoso.com",
        knownTypeList);

    // Other code not shown.
}
Public Shared Sub Constructor5() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com", _
    knownTypeList)

    ' Other code not shown.

End Sub

こちらもご覧ください

適用対象

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

DataContractSerializer型のパラメーターで指定された XML ルート要素と名前空間を使用して、指定した型のオブジェクトをシリアル化または逆シリアル化するために、XmlDictionaryString クラスの新しいインスタンスを初期化します。

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
XmlDictionaryString

コンテンツのルート要素名を含む XmlDictionaryString

rootNamespace
XmlDictionaryString

ルート要素の名前空間を含む XmlDictionaryString

次の例では、シリアル化または逆シリアル化する型、および XML ドキュメントの読み取りまたは書き込みを行う XML 名と名前空間 (DataContractSerializer オブジェクト) を指定するXmlDictionaryStringのインスタンスを作成します。

public static void Constructor4()
{
    // Create an instance of the DataContractSerializer
    // specifying the type, and name and
    // namespace as XmlDictionaryString objects.

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    // Create the serializer.
    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value);
    // Other code not shown.
}
Public Shared Sub Constructor4() 
    ' Create an instance of the DataContractSerializer
    ' specifying the type, and name and 
    ' namespace as XmlDictionaryString objects.
    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    ' Create the serializer.
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value)

    ' Other code not shown.
End Sub

適用対象

DataContractSerializer(Type, String, String)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した XML ルート要素と名前空間を使用して、指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace);
public DataContractSerializer(Type type, string rootName, string rootNamespace);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String)

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素の名前。

rootNamespace
String

シリアル化または逆シリアル化するコンテンツを囲む XML 要素の名前空間。

次の例では、シリアル化または逆シリアル化する型、および XML ドキュメントの読み取りまたは書き込みを行う XML 名と名前空間を指定する DataContractSerializer のインスタンスを作成します。

public static void Constructor3()
{
    // Create an instance of the DataContractSerializer
    // specifying the type, and name and
    // namespace as strings.
    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        "http://www.contoso.com");

    // Other code not shown.
}
Public Shared Sub Constructor3() 
    ' Create an instance of the DataContractSerializer
    ' specifying the type, and name and 
    ' namespace as strings.
    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com")

    ' Other code not shown.
End Sub

適用対象

DataContractSerializer(Type, DataContractSerializerSettings)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した型と設定のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

public:
 DataContractSerializer(Type ^ type, System::Runtime::Serialization::DataContractSerializerSettings ^ settings);
public DataContractSerializer(Type type, System.Runtime.Serialization.DataContractSerializerSettings settings);
public DataContractSerializer(Type type, System.Runtime.Serialization.DataContractSerializerSettings? settings);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Runtime.Serialization.DataContractSerializerSettings -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, settings As DataContractSerializerSettings)

パラメーター

type
Type

シリアル化または逆シリアル化するインスタンスの型。

settings
DataContractSerializerSettings

シリアライザーの設定。

適用対象

DataContractSerializer(Type, IEnumerable<Type>)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した型のオブジェクトと、オブジェクト グラフに存在する既知の型のコレクションをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type))

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する可能性がある型を含むIEnumerable<T>Type

次の例では、シリアル化または逆シリアル化する型と、オブジェクト グラフで使用できる既知の型のコレクションを指定する DataContractSerializer のインスタンスを作成します。

public static void Constructor2()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create a DatatContractSerializer with the collection.
    DataContractSerializer ser2 = new DataContractSerializer(
        typeof(Orders), knownTypeList);

    // Other code not shown.
}
 Public Shared Sub Constructor2() 

     ' Create a generic List of types and add the known types
     ' to the collection.
     Dim knownTypeList As New List(Of Type)
     knownTypeList.Add(GetType(PurchaseOrder))
     knownTypeList.Add(GetType(PurchaseOrderV3))
     
     ' Create a DatatContractSerializer with the collection.
     Dim ser2 As New DataContractSerializer(GetType(Orders), knownTypeList)

     ' Other code not shown.
End Sub

こちらもご覧ください

適用対象

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>)

ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs
ソース:
DataContractSerializer.cs

指定した型のオブジェクトをシリアル化または逆シリアル化するために、 DataContractSerializer クラスの新しいインスタンスを初期化します。 また、このメソッドは、2 つの XmlDictionaryString パラメーターのルート XML 要素と名前空間、およびオブジェクト グラフに存在する可能性がある既知の型の一覧も指定します。

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type))

パラメーター

type
Type

シリアル化または逆シリアル化されるインスタンスの型。

rootName
XmlDictionaryString

コンテンツのルート要素名を含む XmlDictionaryString

rootNamespace
XmlDictionaryString

ルート要素の名前空間を含む XmlDictionaryString

knownTypes
IEnumerable<Type>

オブジェクト グラフに存在する既知の型を含むIEnumerable<T>Type

次の例では、シリアル化または逆シリアル化する型、および XML ドキュメントの読み取りまたは書き込みを行う XML 名と名前空間 (DataContractSerializer オブジェクト) を指定するXmlDictionaryStringのインスタンスを作成します。 コードでは、シリアル化または逆シリアル化中に使用される既知の型を格納する IEnumerable<T> のインスタンスも作成されます。

public static void Constructor6()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value,
        knownTypeList);

    // Other code not shown.
}
Public Shared Sub Constructor6() 
    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value, _
    knownTypeList)

    ' Other code not shown.
 End Sub

こちらもご覧ください

適用対象