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ą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML w celu zachowania danych odwołania do obiektu w grafie, zastępczych dla niestandardowej serializacji, parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw, która zawiera zawartość, i 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 obiektów, maksymalną liczbę elementów grafu do serializacji, parametry ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu w grafie, zastępcy niestandardowej serializacji, elementu XML i przestrzeni nazw zawierającej zawartość, i 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 ignorować nieoczekiwane dane, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu w grafie, zastępcy niestandardowej serializacji oraz 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektów w grafie i zastępcy 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do 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 nowe wystąpienie DataContractSerializer 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 podanego elementu głównego XML i przestrzeni nazw.

DataContractSerializer(Type, DataContractSerializerSettings)

Inicjuje DataContractSerializer nowe wystąpienie klasy, aby serializować lub deserializować obiekt 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 klasy , 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ą być obecne na grafie obiektów, maksymalną liczbę elementów grafu do serializacji, parametry ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML w celu zachowania danych odwołania do obiektu w grafie, zastępczych dla niestandardowej serializacji, parametrów XmlDictionaryString , które określają element XML i przestrzeń nazw, która zawiera zawartość, i 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ść serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

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

maxItemsInObjectGraph
Int32

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

ignoreExtensionDataObject
Boolean

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

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja elementu DataContractResolver do 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 obiektów, maksymalną liczbę elementów grafu do serializacji, parametry ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu w grafie, zastępcy niestandardowej serializacji, elementu XML i przestrzeni nazw zawierającej zawartość, i 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ść serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

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

maxItemsInObjectGraph
Int32

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

ignoreExtensionDataObject
Boolean

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

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja elementu DataContractResolver do 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 ignorować nieoczekiwane dane, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu 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

Określa XmlDictionaryString element XML, który otacza zawartość serializacji lub deserializacji.

rootNamespace
XmlDictionaryString

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

knownTypes
IEnumerable<Type>

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

maxItemsInObjectGraph
Int32

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

ignoreExtensionDataObject
Boolean

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

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do 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 do 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektu w grafie, zastępcy niestandardowej serializacji oraz 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ść serializacji lub deserializacji.

knownTypes
IEnumerable<Type>

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

maxItemsInObjectGraph
Int32

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

ignoreExtensionDataObject
Boolean

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

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do obiektów w grafie i zastępcy 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 wykresie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na grafie 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 podczas serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do 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 klasy , które określa typ serializacji lub deserializacji oraz wystąpienie klasy do IEnumerable<T> 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 ignorowania nieoczekiwanych danych, czy używać niestandardowych konstrukcji XML do zachowania danych odwołania do 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 wykresie obiektu.

maxItemsInObjectGraph
Int32

Maksymalna liczba elementów na grafie 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 podczas serializacji i deserializacji; w przeciwnym razie , false.

preserveObjectReferences
Boolean

true do używania niestandardowych konstrukcji XML w celu zachowania danych odwołania do obiektów; w przeciwnym razie , false.

dataContractSurrogate
IDataContractSurrogate

Implementacja elementu IDataContractSurrogate w celu dostosowania procesu serializacji.

dataContractResolver
DataContractResolver

Implementacja elementu DataContractResolver do 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ą być obecne na grafie obiektów.

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 obiektu IEnumerable<T> zawierające 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 nowe wystąpienie DataContractSerializer 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 lub zapisu w dokumencie XML.

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 podanego 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 otaczającego zawartość w celu serializacji lub deserializacji.

rootNamespace
String

Przestrzeń nazw elementu XML, który otacza zawartość 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, aby serializować lub deserializować obiekt 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ą być obecne na grafie obiektów.

Przykłady

Poniższy przykład tworzy wystąpienie DataContractSerializer , które określa typ serializacji lub deserializowania i kolekcji 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>

Type Element IEnumerable<T> zawiera znane typy, które mogą być obecne na wykresie 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 lub zapisu w dokumencie XML. Kod tworzy również wystąpienie obiektu IEnumerable<T> zawierające 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