Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
DataContractSerializer Constructor (Type, XmlDictionaryString, XmlDictionaryString, Generic IEnumerable, Int32, Boolean, Boolean, IDataContractSurrogate)

DataContractSerializer.DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, Generic IEnumerable, Int32, Boolean, Boolean, IDataContractSurrogate) Constructor

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 or not to use non-standard XML constructs to preserve object reference data in the graph, a surrogate for custom serialization, and parameters of XmlDictionaryString that specify the XML element and namespace that contain the content.

Namespace: System.Runtime.Serialization
Assembly: System.Runtime.Serialization (in system.runtime.serialization.dll)

public DataContractSerializer (
	Type type,
	XmlDictionaryString rootName,
	XmlDictionaryString rootNamespace,
	IEnumerable<Type> knownTypes,
	int maxItemsInObjectGraph,
	bool ignoreExtensionDataObject,
	bool preserveObjectReferences,
	IDataContractSurrogate dataContractSurrogate
)
public DataContractSerializer (
	Type type, 
	XmlDictionaryString rootName, 
	XmlDictionaryString rootNamespace, 
	IEnumerable<Type> knownTypes, 
	int maxItemsInObjectGraph, 
	boolean ignoreExtensionDataObject, 
	boolean preserveObjectReferences, 
	IDataContractSurrogate dataContractSurrogate
)
public function DataContractSerializer (
	type : Type, 
	rootName : XmlDictionaryString, 
	rootNamespace : XmlDictionaryString, 
	knownTypes : IEnumerable<Type>, 
	maxItemsInObjectGraph : int, 
	ignoreExtensionDataObject : boolean, 
	preserveObjectReferences : boolean, 
	dataContractSurrogate : IDataContractSurrogate
)
Not applicable.

Parameters

type

A Type that specifies the type of the instances that will be serialized or deserialized.

rootName

The XmlDictionaryString that specifies the XML element that encloses the content to serialize or deserialize.

rootNamespace

The XmlDictionaryString that specifies the XML namespace of the root.

knownTypes

A IEnumerable of Type that contains the known types that may be present in the object graph.

maxItemsInObjectGraph

The maximum number of items in the graph to serialize or deserialize.

ignoreExtensionDataObject

true to ignore the data supplied by an extension of the type upon serialization and deserialization; otherwise, false.

preserveObjectReferences

true to use non-standard XML constructs to preserve object reference data; otherwise, false.

dataContractSurrogate

An implementation of the IDataContractSurrogate to customize the serialization process.

Exception typeCondition

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 (as XmlDictionaryString parameters), and an instance of a IEnumerable 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 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.
}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2015 Microsoft