Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

 

Data di pubblicazione: ottobre 2016

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.

Spazio dei nomi:   System.Runtime.Serialization
Assembly:  System.Runtime.Serialization (in System.Runtime.Serialization.dll)

public DataContractSerializer(
	Type type,
	IEnumerable<Type> knownTypes,
	int maxItemsInObjectGraph,
	bool ignoreExtensionDataObject,
	bool preserveObjectReferences,
	IDataContractSurrogate dataContractSurrogate
)

Parametri

type
Type: System.Type

Tipo delle istanze serializzate o deserializzate.

knownTypes
Type: System.Collections.Generic.IEnumerable<Type>

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

maxItemsInObjectGraph
Type: System.Int32

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

ignoreExtensionDataObject
Type: System.Boolean

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

preserveObjectReferences
Type: System.Boolean

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

dataContractSurrogate
Type: System.Runtime.Serialization.IDataContractSurrogate

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

Exception Condition
ArgumentOutOfRangeException

Il numero di elementi supera il valore massimo.

The following example creates an instance of the T:System.Runtime.Serialization.DataContractSerializer that specifies the type to serialize or deserialize and an instance of a T:System.Collections.Generic.IEnumerable`1 to contain the known types used during serialization or deserialization. The code also sets the ignoreExtensionDataObject and preserveObjectReferences parameters to true, and specifies an implementation of the T:System.Runtime.Serialization.IDataContractSurrogate interface to handle legacy types (types that do not have the T:System.Runtime.Serialization.DataContractAttribute attribute applied). crdefault the T:System.Runtime.Serialization.IDataContractSurrogate documentation.

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.
}

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: