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, and a surrogate for custom serialization.
Namespace:
System.Runtime.Serialization
Assembly:
System.Runtime.Serialization (in System.Runtime.Serialization.dll)
Visual Basic (Declaration)
Public Sub New ( _
type As Type, _
knownTypes As IEnumerable(Of Type), _
maxItemsInObjectGraph As Integer, _
ignoreExtensionDataObject As Boolean, _
preserveObjectReferences As Boolean, _
dataContractSurrogate As IDataContractSurrogate _
)
Dim type As Type
Dim knownTypes As IEnumerable(Of Type)
Dim maxItemsInObjectGraph As Integer
Dim ignoreExtensionDataObject As Boolean
Dim preserveObjectReferences As Boolean
Dim dataContractSurrogate As IDataContractSurrogate
Dim instance As New DataContractSerializer(type, knownTypes, _
maxItemsInObjectGraph, ignoreExtensionDataObject, _
preserveObjectReferences, dataContractSurrogate)
public DataContractSerializer(
Type type,
IEnumerable<Type> knownTypes,
int maxItemsInObjectGraph,
bool ignoreExtensionDataObject,
bool preserveObjectReferences,
IDataContractSurrogate dataContractSurrogate
)
public:
DataContractSerializer(
Type^ type,
IEnumerable<Type^>^ knownTypes,
int maxItemsInObjectGraph,
bool ignoreExtensionDataObject,
bool preserveObjectReferences,
IDataContractSurrogate^ dataContractSurrogate
)
public function DataContractSerializer(
type : Type,
knownTypes : IEnumerable<Type>,
maxItemsInObjectGraph : int,
ignoreExtensionDataObject : boolean,
preserveObjectReferences : boolean,
dataContractSurrogate : IDataContractSurrogate
)
The following example creates an instance of the DataContractSerializer that specifies the type to serialize or deserialize and an instance of a IEnumerable<(Of <(T>)>) 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 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 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
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.
}
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0
Reference