DataContractSerializer Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy DataContractSerializer.

Przeciążenia

DataContractSerializer(Type)

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą znajdować się na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry do ignorowania nieoczekiwanych danych, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw zawierającą zawartość, alternatywa dla deklaracji mapowania xsi:type w czasie wykonywania.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektu, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, elementu XML i przestrzeni nazw zawierającej zawartość, alternatywa dla deklaracji mapowania xsi:type w czasie wykonywania.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry do ignorowania nieoczekiwanych danych, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji i parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw, które zawierają zawartość.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, a także elementu XML i przestrzeni nazw zawierającej zawartość.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów w grafie i zastępczej dla niestandardowej serializacji.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji i alternatywy dla deklaracji mapowania xsi:type w czasie wykonywania.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również główny element XML i przestrzeń nazw w dwóch parametrach ciągu, a także listę znanych typów, które mogą być obecne na grafie obiektu.

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu przy użyciu elementu głównego XML i przestrzeni nazw określonej za pomocą parametrów typu XmlDictionaryString.

DataContractSerializer(Type, String, String)

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu przy użyciu dostarczonego elementu głównego XML i przestrzeni nazw.

DataContractSerializer(Type, DataContractSerializerSettings)

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu i ustawień.

DataContractSerializer(Type, IEnumerable<Type>)

Inicjuje nowe wystąpienie DataContractSerializer klasy w celu serializacji lub deserializacji obiektu określonego typu oraz kolekcji znanych typów, które mogą znajdować się na grafie obiektu.

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również główny element XML i przestrzeń nazw w dwóch XmlDictionaryString parametrach, a także listę znanych typów, które mogą być obecne na grafie obiektu.

DataContractSerializer(Type)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu.

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

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji.

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

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą znajdować się na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry do ignorowania nieoczekiwanych danych, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw zawierającą zawartość, alternatywa dla deklaracji mapowania xsi:type w czasie wykonywania.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
XmlDictionaryString

Element XML, który otacza zawartość w celu serializacji lub deserializacji.

rootNamespace
XmlDictionaryString

Przestrzeń nazw elementu XML, który otacza zawartość w celu serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji.

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja funkcji DataContractResolver mapowania xsi:type deklaracji na typy kontraktów danych.

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektu, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, elementu XML i przestrzeni nazw zawierającej zawartość, alternatywa dla deklaracji mapowania xsi:type w czasie wykonywania.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
String

Element XML, który otacza zawartość w celu serializacji lub deserializacji.

rootNamespace
String

Przestrzeń nazw elementu XML, który otacza zawartość w celu serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji.

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja funkcji DataContractResolver mapowania xsi:type deklaracji na typy kontraktów danych.

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry do ignorowania nieoczekiwanych danych, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji i parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw, które zawierają zawartość.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
XmlDictionaryString

Element XmlDictionaryString , który określa element XML, który otacza zawartość w celu serializacji lub deserializacji.

rootNamespace
XmlDictionaryString

Element XmlDictionaryString określający przestrzeń nazw XML katalogu głównego.

knownTypes
IEnumerable<Type>

Element IEnumerable<T> zawierający Type znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji.

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

Wyjątki

Liczba elementów przekracza maksymalną wartość.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, głównego elementu XML i przestrzeni nazw (jako XmlDictionaryString parametrów) oraz wystąpienia IEnumerable<T> , które zawiera typy używane podczas deserializacji. Kod ustawia ignoreExtensionDataObject również parametry i preserveObjectReferences na true, i określa implementację interfejsu IDataContractSurrogate do obsługi starszych typów (typów, które nie mają zastosowanego atrybutu DataContractAttribute ). Aby uzyskać więcej informacji, zobacz dokumentację 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

Zobacz też

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji, a także elementu XML i przestrzeni nazw zawierającej zawartość.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
String

Element XML, który otacza zawartość w celu serializacji lub deserializacji.

rootNamespace
String

Przestrzeń nazw elementu XML, który otacza zawartość w celu serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji.

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

Wyjątki

Liczba elementów przekracza maksymalną wartość.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, głównego elementu XML i przestrzeni nazw oraz wystąpienia IEnumerable<T> , które zawiera typy używane podczas deserializacji. Kod ustawia ignoreExtensionDataObject również parametry i preserveObjectReferences na true, i określa implementację interfejsu IDataContractSurrogate do obsługi starszych typów (typów, które nie mają zastosowanego atrybutu DataContractAttribute ). Aby uzyskać więcej informacji, zobacz dokumentację 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

Zobacz też

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów w grafie i zastępczej dla niestandardowej serializacji.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji. Wartość domyślna to wartość zwracana przez właściwość Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

Wyjątki

Liczba elementów przekracza maksymalną wartość.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, a wystąpienie klasy IEnumerable<T> do przechowywania znanych typów używanych podczas serializacji lub deserializacji. Kod ustawia ignoreExtensionDataObject również parametry i preserveObjectReferences na true, i określa implementację interfejsu IDataContractSurrogate do obsługi starszych typów (typów, które nie mają zastosowanego atrybutu DataContractAttribute ). Aby uzyskać więcej informacji, zobacz dokumentację 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

Zobacz też

Dotyczy

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

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również listę znanych typów, które mogą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry, aby zignorować nieoczekiwane dane, czy używać nietypowych konstrukcji XML do zachowania danych referencyjnych obiektów w grafie, zastępczej dla niestandardowej serializacji i alternatywy dla deklaracji mapowania xsi:type w czasie wykonywania.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający znane typy, które mogą być obecne na grafie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na wykresie do serializacji lub deserializacji. Wartość domyślna to wartość zwracana przez właściwość Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true ignorowanie danych dostarczonych przez rozszerzenie typu po serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania nietypowych konstrukcji XML w celu zachowania danych referencyjnych obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja funkcji DataContractResolver mapowania xsi:type deklaracji na typy kontraktów danych.

Uwagi

Ostrzeżenie

Ta metoda nie jest dostępna w aplikacjach ze Sklepu Windows.

Dotyczy

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

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również główny element XML i przestrzeń nazw w dwóch parametrach ciągu, a także listę znanych typów, które mogą być obecne na grafie obiektu.

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))

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
String

Nazwa elementu głównego zawartości.

rootNamespace
String

Przestrzeń nazw elementu głównego.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający typy, które mogą znajdować się na grafie obiektu.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, a także nazwę XML i przestrzeń nazw do odczytu lub zapisu w dokumencie XML. Kod tworzy również wystąpienie elementu zawierające IEnumerable<T> znane typy używane podczas serializacji lub deserializacji.

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

Zobacz też

Dotyczy

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu przy użyciu elementu głównego XML i przestrzeni nazw określonej za pomocą parametrów typu 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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
XmlDictionaryString

Element XmlDictionaryString zawierający nazwę elementu głównego zawartości.

rootNamespace
XmlDictionaryString

Element XmlDictionaryString zawierający przestrzeń nazw elementu głównego.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, a także nazwę XML i przestrzeń nazw (jako XmlDictionaryString obiekty) do odczytu z dokumentu XML lub zapisu.

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

Dotyczy

DataContractSerializer(Type, String, String)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu przy użyciu dostarczonego elementu głównego XML i przestrzeni nazw.

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)

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
String

Nazwa elementu XML, który otacza zawartość do serializacji lub deserializacji.

rootNamespace
String

Przestrzeń nazw elementu XML, który otacza zawartość w celu serializacji lub deserializacji.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, a także nazwę XML i przestrzeń nazw do odczytu lub zapisu w dokumencie XML.

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

Dotyczy

DataContractSerializer(Type, DataContractSerializerSettings)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu i ustawień.

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)

Parametry

type
Type

Typ wystąpienia do serializacji lub deserializacji.

settings
DataContractSerializerSettings

Ustawienia serializatora.

Dotyczy

DataContractSerializer(Type, IEnumerable<Type>)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje nowe wystąpienie DataContractSerializer klasy w celu serializacji lub deserializacji obiektu określonego typu oraz kolekcji znanych typów, które mogą znajdować się na grafie obiektu.

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))

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

knownTypes
IEnumerable<Type>

Type Element IEnumerable<T> zawierający typy, które mogą znajdować się na grafie obiektu.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji oraz kolekcję znanych typów, które mogą być używane na grafie obiektu.

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

Zobacz też

Dotyczy

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

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Inicjuje DataContractSerializer nowe wystąpienie klasy w celu serializacji lub deserializacji obiektu określonego typu. Ta metoda określa również główny element XML i przestrzeń nazw w dwóch XmlDictionaryString parametrach, a także listę znanych typów, które mogą być obecne na grafie obiektu.

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))

Parametry

type
Type

Typ wystąpień, które są serializowane lub deserializowane.

rootName
XmlDictionaryString

Element XmlDictionaryString zawierający nazwę elementu głównego zawartości.

rootNamespace
XmlDictionaryString

Element XmlDictionaryString zawierający przestrzeń nazw elementu głównego.

knownTypes
IEnumerable<Type>

Element IEnumerable<T> zawierający Type znane typy, które mogą być obecne na grafie obiektu.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializacji, a także nazwę XML i przestrzeń nazw (jako XmlDictionaryString obiekty) do odczytu z dokumentu XML lub zapisu. Kod tworzy również wystąpienie elementu zawierające IEnumerable<T> znane typy używane podczas serializacji lub deserializacji.

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

Zobacz też

Dotyczy