Export (0) Print
Expand All

DataContractSerializer Constructor (Type, String, String, IEnumerable(Of Type), Int32, Boolean, Boolean, IDataContractSurrogate)

Initializes a new instance of the DataContractSerializer class to serialize or deserialize an object of the specified type. This method also specifies a list of known types that may be present in the object graph, the maximum number of graph items to serialize, parameters to ignore unexpected data, whether to use non-standard XML constructs to preserve object reference data in the graph, a surrogate for custom serialization, and the XML element and namespace that contain the content.

Namespace:  System.Runtime.Serialization
Assembly:  System.Runtime.Serialization (in System.Runtime.Serialization.dll)

'Declaration
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 _
)

Parameters

type
Type: System.Type
The type of the instances that are serialized or deserialized.
rootName
Type: System.String
The XML element that encloses the content to serialize or deserialize.
rootNamespace
Type: System.String
The namespace of the XML element that encloses the content to serialize or deserialize.
knownTypes
Type: System.Collections.Generic.IEnumerable(Of Type)
An IEnumerable(Of T) of Type that contains the known types that may be present in the object graph.
maxItemsInObjectGraph
Type: System.Int32
The maximum number of items in the graph to serialize or deserialize.
ignoreExtensionDataObject
Type: System.Boolean
true to ignore the data supplied by an extension of the type upon serialization and deserialization; otherwise, false.
preserveObjectReferences
Type: System.Boolean
true to use non-standard XML constructs to preserve object reference data; otherwise, false.
dataContractSurrogate
Type: System.Runtime.Serialization.IDataContractSurrogate
An implementation of the IDataContractSurrogate to customize the serialization process.

ExceptionCondition
ArgumentOutOfRangeException

The number of items exceeds the maximum value.

The following example creates an instance of the DataContractSerializer that specifies the type to serialize or deserialize, the root XML element and namespace, and an instance of a IEnumerable(Of T) that contains the types used during deserialization. The code also sets the ignoreExtensionDataObject and preserveObjectReferences parameters to true, and specifies an implementation of the IDataContractSurrogate interface to handle legacy types (types that do not have the DataContractAttribute attribute applied). For more information, see the IDataContractSurrogate documentation.


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 


.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft