Export (0) Print
Expand All

NetDataContractSerializer Constructor (String, String, StreamingContext, Int32, Boolean, FormatterAssemblyStyle, ISurrogateSelector)

Initializes a new instance of the NetDataContractSerializer class with the supplied context data and root name and namespace; in addition, specifies the maximum number of items in the object to be serialized, and parameters to specify whether extra data is ignored, the assembly loading method, and a surrogate selector.

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

public NetDataContractSerializer(
	string rootName,
	string rootNamespace,
	StreamingContext context,
	int maxItemsInObjectGraph,
	bool ignoreExtensionDataObject,
	FormatterAssemblyStyle assemblyFormat,
	ISurrogateSelector surrogateSelector
)

Parameters

rootName
Type: System.String

The name of 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.

context
Type: System.Runtime.Serialization.StreamingContext

A StreamingContext that contains context data.

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; otherwise, false.

assemblyFormat
Type: System.Runtime.Serialization.Formatters.FormatterAssemblyStyle

A FormatterAssemblyStyle enumeration value that specifies a method for locating and loading assemblies.

surrogateSelector
Type: System.Runtime.Serialization.ISurrogateSelector

An implementation of the IDataContractSurrogate to handle the legacy type.

ExceptionCondition
ArgumentOutOfRangeException

maxItemsInObjectGraph value is less than 0.

The ignoreExtensionDataObject parameter is used when the IExtensibleDataObject interface is implemented in the class that is being serialized or deserialized.

The following example creates an instance of the NetDataContractSerializer specifying the XML element name and namespace to expect when deserializing. The code also sets the ignoreExtensionDataObject, and specifies an implementation of the ISurrogateSelector interface to handle to assist the serializer when selecting a surrogate (for deserializing legacy types).

public static void Constructor6()
{
    // Create an instance of the StreamingContext to hold 
    // context data.
    StreamingContext sc = new StreamingContext
        (StreamingContextStates.CrossAppDomain);

    // Create an instance of a class that implements the  
    // ISurrogateSelector interface. The implementation code 
    // is not shown here.
    MySelector mySurrogateSelector = new MySelector();

    NetDataContractSerializer ser =
        new NetDataContractSerializer(
        "Customer",
        "http://www.contoso.com",
        sc,
        int.MaxValue,
        true,
        FormatterAssemblyStyle.Simple,
        mySurrogateSelector);
    // Other code not shown.            
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft