DataContractSerializer Costruttori

Definizione

Inizializza una nuova istanza della classe DataContractSerializer.

Overload

DataContractSerializer(Type)

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata, l'elemento e i parametri XmlDictionaryString che specificano l'elemento XML e gli spazi dei nomi che includono il contenuto e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata, l'elemento e lo spazio dei nomi XML che includono il contenuto e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nell'oggetto grafico, un surrogato per la serializzazione personalizzata e parametri di XmlDictionaryString che specificano l'elemento e lo spazio dei nomi XML che contengono il contenuto.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati di riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata e l'elemento e lo spazio dei nomi XML che contengono il contenuto.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nell'oggetto grafico e un surrogato per la serializzazione personalizzata.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre l'elemento XML radice e lo spazio dei nomi in due parametri di stringa nonché un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico.

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato utilizzando l'elemento radice e lo spazio dei nomi XML specificati dai parametri di tipo XmlDictionaryString.

DataContractSerializer(Type, String, String)

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato utilizzando l'elemento radice e lo spazio dei nomi XML forniti.

DataContractSerializer(Type, DataContractSerializerSettings)

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo e delle impostazioni specificati.

DataContractSerializer(Type, IEnumerable<Type>)

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato e una raccolta di tipi conosciuti che possono essere presenti nell'oggetto grafico.

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre l'elemento XML radice e lo spazio dei nomi in due parametri XmlDictionaryString nonché un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico.

DataContractSerializer(Type)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato.

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

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare.

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

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata, l'elemento e i parametri XmlDictionaryString che specificano l'elemento XML e gli spazi dei nomi che includono il contenuto e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
XmlDictionaryString

Elemento XML che include il contenuto da serializzare o deserializzare.

rootNamespace
XmlDictionaryString

Spazio dei nomi dell'elemento XML che include il contenuto da serializzare o deserializzare.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare.

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

dataContractResolver
DataContractResolver

Implementazione di DataContractResolver per il mapping di dichiarazioni xsi:type a tipi di contratto dati.

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata, l'elemento e lo spazio dei nomi XML che includono il contenuto e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
String

Elemento XML che include il contenuto da serializzare o deserializzare.

rootNamespace
String

Spazio dei nomi dell'elemento XML che include il contenuto da serializzare o deserializzare.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare.

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

dataContractResolver
DataContractResolver

Implementazione di DataContractResolver per il mapping di dichiarazioni xsi:type a tipi di contratto dati.

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nell'oggetto grafico, un surrogato per la serializzazione personalizzata e parametri di XmlDictionaryString che specificano l'elemento e lo spazio dei nomi XML che contengono il contenuto.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
XmlDictionaryString

Classe XmlDictionaryString che specifica l'elemento XML che include il contenuto da serializzare o deserializzare.

rootNamespace
XmlDictionaryString

Classe XmlDictionaryString che specifica lo spazio dei nomi XML dell'elemento radice.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare.

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

Eccezioni

Il numero di elementi supera il valore massimo.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare, l'elemento XML radice e lo spazio dei nomi (come parametri XmlDictionaryString) e un'istanza di un'interfaccia IEnumerable<T> che contiene i tipi utilizzati durante la deserializzazione. Il codice imposta anche i ignoreExtensionDataObject parametri e preserveObjectReferences su truee specifica un'implementazione dell'interfaccia IDataContractSurrogate per gestire i tipi legacy (tipi che non hanno l'attributo DataContractAttribute applicato). Per altre informazioni, vedere la documentazione di 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

Vedi anche

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati di riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata e l'elemento e lo spazio dei nomi XML che contengono il contenuto.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
String

Elemento XML che include il contenuto da serializzare o deserializzare.

rootNamespace
String

Spazio dei nomi dell'elemento XML che include il contenuto da serializzare o deserializzare.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare.

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

Eccezioni

Il numero di elementi supera il valore massimo.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare, l'elemento XML radice e lo spazio dei nomi e un'istanza di un'interfaccia IEnumerable<T> che contiene i tipi utilizzati durante la deserializzazione. Il codice imposta anche i ignoreExtensionDataObject parametri e preserveObjectReferences su truee specifica un'implementazione dell'interfaccia IDataContractSurrogate per gestire i tipi legacy (tipi che non hanno l'attributo DataContractAttribute applicato). Per altre informazioni, vedere la documentazione di 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

Vedi anche

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati imprevisti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nell'oggetto grafico e un surrogato per la serializzazione personalizzata.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare. Il valore predefinito è il valore restituito dalla proprietà Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

Eccezioni

Il numero di elementi supera il valore massimo.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare e un'istanza di un'interfaccia IEnumerable<T> per contenere i tipi conosciuti utilizzati durante la serializzazione o deserializzazione. Il codice imposta anche i ignoreExtensionDataObject parametri e preserveObjectReferences su truee specifica un'implementazione dell'interfaccia IDataContractSurrogate per gestire i tipi legacy (tipi che non hanno l'attributo DataContractAttribute applicato). Per altre informazioni, vedere la documentazione di 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

Vedi anche

Si applica a

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

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico, il numero massimo di elementi dell'oggetto grafico da serializzare, parametri per ignorare i dati non previsti, se utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto nel grafico, un surrogato per la serializzazione personalizzata e un'alternativa per il mapping di dichiarazioni xsi:type in fase di esecuzione.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

maxItemsInObjectGraph
Int32

Numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare. Il valore predefinito è il valore restituito dalla proprietà Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true per ignorare i dati forniti da un'estensione del tipo durante la serializzazione e la deserializzazione. In caso contrario, false.

preserveObjectReferences
Boolean

true per utilizzare costrutti XML non standard per conservare i dati del riferimento all'oggetto. In caso contrario, false.

dataContractSurrogate
IDataContractSurrogate

Implementazione dell'interfaccia IDataContractSurrogate per personalizzare il processo di serializzazione.

dataContractResolver
DataContractResolver

Implementazione di DataContractResolver per il mapping di dichiarazioni xsi:type a tipi di contratto dati.

Commenti

Avviso

Questo metodo non è disponibile nelle app di Windows Store.

Si applica a

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

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre l'elemento XML radice e lo spazio dei nomi in due parametri di stringa nonché un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico.

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

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
String

Nome dell'elemento radice del contenuto.

rootNamespace
String

Spazio dei nomi dell'elemento radice.

knownTypes
IEnumerable<Type>

IEnumerable<T> di Type contenente i tipi che possono essere presenti nell'oggetto grafico.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare nonché il nome e lo spazio dei nomi XML per leggere o scrivere nel documento XML. Il codice crea inoltre un'istanza di un'interfaccia IEnumerable<T> per contenere i tipi conosciuti utilizzati durante la serializzazione o deserializzazione.

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

Vedi anche

Si applica a

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato utilizzando l'elemento radice e lo spazio dei nomi XML specificati dai parametri di tipo 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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
XmlDictionaryString

Classe XmlDictionaryString contenente il nome dell'elemento radice del contenuto.

rootNamespace
XmlDictionaryString

Classe XmlDictionaryString contenente lo spazio dei nomi dell'elemento radice.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare nonché il nome e lo spazio dei nomi XML (come oggetti XmlDictionaryString) per leggere o scrivere nel documento 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

Si applica a

DataContractSerializer(Type, String, String)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato utilizzando l'elemento radice e lo spazio dei nomi XML forniti.

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)

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
String

Nome dell'elemento XML che include il contenuto da serializzare o deserializzare.

rootNamespace
String

Spazio dei nomi dell'elemento XML che include il contenuto da serializzare o deserializzare.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare nonché il nome e lo spazio dei nomi XML per leggere o scrivere nel documento 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

Si applica a

DataContractSerializer(Type, DataContractSerializerSettings)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo e delle impostazioni specificati.

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)

Parametri

type
Type

Tipo di istanza che viene serializzata o deserializzata.

settings
DataContractSerializerSettings

Impostazioni del serializzatore

Si applica a

DataContractSerializer(Type, IEnumerable<Type>)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato e una raccolta di tipi conosciuti che possono essere presenti nell'oggetto grafico.

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

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

knownTypes
IEnumerable<Type>

IEnumerable<T> di Type contenente i tipi che possono essere presenti nell'oggetto grafico.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare e una raccolta di tipi conosciuti che possono essere utilizzati nell'oggetto grafico.

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

Vedi anche

Si applica a

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

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Inizializza una nuova istanza della classe DataContractSerializer per serializzare o deserializzare un oggetto del tipo specificato. Questo metodo specifica inoltre l'elemento XML radice e lo spazio dei nomi in due parametri XmlDictionaryString nonché un elenco di tipi conosciuti che possono essere presenti nell'oggetto grafico.

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

Parametri

type
Type

Tipo delle istanze serializzate o deserializzate.

rootName
XmlDictionaryString

Classe XmlDictionaryString contenente il nome dell'elemento radice del contenuto.

rootNamespace
XmlDictionaryString

Classe XmlDictionaryString contenente lo spazio dei nomi dell'elemento radice.

knownTypes
IEnumerable<Type>

Interfaccia IEnumerable<T> di Type contenente i tipi conosciuti che possono essere presenti nell'oggetto grafico.

Esempio

Nell'esempio seguente viene creata un'istanza della classe DataContractSerializer che specifica il tipo da serializzare o deserializzare nonché il nome e lo spazio dei nomi XML (come oggetti XmlDictionaryString) per leggere o scrivere nel documento XML. Il codice crea inoltre un'istanza di un'interfaccia IEnumerable<T> per contenere i tipi conosciuti utilizzati durante la serializzazione o deserializzazione.

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

Vedi anche

Si applica a