DataContractSerializer Constructor (Type, XmlDictionaryString, XmlDictionaryString, IEnumerable(Type))

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

Initializes a new instance of the DataContractSerializer class to serialize or deserialize an object of the specified type. This method also specifies the root XML element and namespace in two XmlDictionaryString parameters as well as a list of known types that may be present in the object graph.

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

public DataContractSerializer(
	Type type,
	XmlDictionaryString rootName,
	XmlDictionaryString rootNamespace,
	IEnumerable<Type> knownTypes
)

Parameters

type
Type: System.Type

The type of the instances that are serialized or deserialized.

rootName
Type: System.Xml.XmlDictionaryString

An XmlDictionaryString that contains the root element name of the content.

rootNamespace
Type: System.Xml.XmlDictionaryString

An XmlDictionaryString that contains the namespace of the root element.

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

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

The following example creates an instance of the DataContractSerializer that specifies the type to serialize or deserialize as well as the XML name and namespace (as XmlDictionaryString objects) to read from or write to the XML document. The code also creates an instance of a IEnumerable<T> to contain the known types used during serialization or deserialization.

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

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

Community Additions

ADD
Show:
© 2016 Microsoft