Show / Hide Table of Contents

    Class DataContractSerializer<TDataContract>

    Serializes and deserializes an instance of a type into an XML stream or document using a supplied data contract. This class cannot be inherited.

    Inheritance
    System.Object
    DataContractSerializer<TDataContract>
    Namespace: Copper.Common
    Assembly: Copper.Common.dll
    Syntax
    public sealed class DataContractSerializer<TDataContract>
        where TDataContract : class
    Type Parameters
    Name Description
    TDataContract

    The type of the data contract.

    Constructors

    View Source

    DataContractSerializer()

    Initializes a new instance of the System.Runtime.Serialization.DataContractSerializer class to serialize or deserialize an object of the specified type.

    Declaration
    public DataContractSerializer()
    View Source

    DataContractSerializer(IEnumerable<Type>)

    Initializes a new instance of the System.Runtime.Serialization.DataContractSerializer class to serialize or deserialize an object of the specified type, and a collection of known types that may be present in the TDataContract graph.

    Declaration
    public DataContractSerializer(IEnumerable<Type> knownTypes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Type> knownTypes

    An System.Collections.Generic.IEnumerable<T> of System.Type that contains the types that may be present in the TDataContract graph.

    View Source

    DataContractSerializer(DataContractSerializerSettings)

    Initializes a new instance of the System.Runtime.Serialization.DataContractSerializer class to serialize or deserialize an object of the specified type and settings.

    Declaration
    public DataContractSerializer(DataContractSerializerSettings settings)
    Parameters
    Type Name Description
    System.Runtime.Serialization.DataContractSerializerSettings settings

    The serializer settings.

    View Source

    DataContractSerializer(String, String)

    Initializes a new instance of the System.Runtime.Serialization.DataContractSerializer class to serialize or deserialize an object of the specified type using the supplied XML root element and namespace.

    Declaration
    public DataContractSerializer(string rootName, string rootNamespace)
    Parameters
    Type Name Description
    System.String rootName

    The name of the XML element that encloses the content to serialize or deserialize.

    System.String rootNamespace

    The namespace of the XML element that encloses the content to serialize or deserialize.

    View Source

    DataContractSerializer(String, String, IEnumerable<Type>)

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

    Declaration
    public DataContractSerializer(string rootName, string rootNamespace, IEnumerable<Type> knownTypes)
    Parameters
    Type Name Description
    System.String rootName

    The root element name of the content.

    System.String rootNamespace

    The namespace of the root element.

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

    An System.Collections.Generic.IEnumerable<T> of System.Type that contains the types that may be present in the TDataContract graph.

    View Source

    DataContractSerializer(XmlDictionaryString, XmlDictionaryString)

    Initializes a new instance of the System.Runtime.Serialization.DataContractSerializer class to serialize or deserialize an object of the specified type using the XML root element and namespace specified through the parameters of type System.Xml.XmlDictionaryString.

    Declaration
    public DataContractSerializer(XmlDictionaryString rootName, XmlDictionaryString rootNamespace)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryString rootName

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

    System.Xml.XmlDictionaryString rootNamespace

    An System.Xml.XmlDictionaryString that contains the namespace of the root element.

    View Source

    DataContractSerializer(XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>)

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

    Declaration
    public DataContractSerializer(XmlDictionaryString rootName, XmlDictionaryString rootNamespace, IEnumerable<Type> knownTypes)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryString rootName

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

    System.Xml.XmlDictionaryString rootNamespace

    An System.Xml.XmlDictionaryString that contains the namespace of the root element.

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

    A System.Collections.Generic.IEnumerable<T> of System.Type that contains the known types that may be present in the TDataContract graph.

    Properties

    View Source

    DataContractResolver

    Gets the component used to dynamically map langword_csharp_xsi:type declarations to known contract types.

    Declaration
    public DataContractResolver DataContractResolver { get; }
    Property Value
    Type Description
    System.Runtime.Serialization.DataContractResolver

    An implementation of the System.Runtime.Serialization.DataContractResolver class.

    View Source

    IgnoreExtensionDataObject

    Gets a value that specifies whether to ignore data supplied by an extension of the class when the class is being serialized or deserialized.

    Declaration
    public bool IgnoreExtensionDataObject { get; }
    Property Value
    Type Description
    System.Boolean

    true to omit the extension data; otherwise, false.

    View Source

    KnownTypes

    Gets a collection of types that may be present in the TDataContract graph serialized using this instance of the System.Runtime.Serialization.DataContractSerializer.

    Declaration
    public ReadOnlyCollection<Type> KnownTypes { get; }
    Property Value
    Type Description
    System.Collections.ObjectModel.ReadOnlyCollection<System.Type>

    A System.Collections.ObjectModel.ReadOnlyCollection<T> that contains the expected types passed in as known types to the System.Runtime.Serialization.DataContractSerializer constructor.

    View Source

    MaxItemsInObjectGraph

    Gets the maximum number of items in an TDataContract graph to serialize or deserialize.

    Declaration
    public int MaxItemsInObjectGraph { get; }
    Property Value
    Type Description
    System.Int32

    The maximum number of items to serialize or deserialize. The default is System.Int32.MaxValue.

    Exceptions
    Type Condition
    System.ArgumentOutOfRangeException

    The number of items exceeds the maximum value.

    View Source

    PreserveObjectReferences

    Gets a value that specifies whether to use non-standard XML constructs to preserve object reference data.

    Declaration
    public bool PreserveObjectReferences { get; }
    Property Value
    Type Description
    System.Boolean

    true to keep the references; otherwise, false.

    View Source

    SerializeReadOnlyTypes

    Gets a value that specifies whether read-only types are serialized.

    Declaration
    public bool SerializeReadOnlyTypes { get; }
    Property Value
    Type Description
    System.Boolean

    true if read-only types are serialized; false if all types are serialized.

    Methods

    View Source

    IsStartObject(XmlDictionaryReader)

    Determines whether the System.Xml.XmlDictionaryReader is positioned on an object that can be deserialized.

    Declaration
    public bool IsStartObject(XmlDictionaryReader reader)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryReader reader

    An System.Xml.XmlDictionaryReader used to read the XML stream.

    Returns
    Type Description
    System.Boolean

    true if the reader is at the start element of the stream to read; otherwise, false.

    View Source

    IsStartObject(XmlReader)

    Determines whether the System.Xml.XmlReader is positioned on an object that can be deserialized.

    Declaration
    public bool IsStartObject(XmlReader reader)
    Parameters
    Type Name Description
    System.Xml.XmlReader reader

    The System.Xml.XmlReader used to read the XML stream.

    Returns
    Type Description
    System.Boolean

    true if the reader is at the start element of the stream to read; otherwise, false.

    View Source

    ReadObject(Stream)

    Reads the XML stream or document with a System.IO.Stream and returns the deserialized object.

    Declaration
    public TDataContract ReadObject(Stream stream)
    Parameters
    Type Name Description
    System.IO.Stream stream

    A System.IO.Stream used to read the XML stream or document.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    View Source

    ReadObject(String, Encoding)

    Reads the XML string with a System.IO.Stream and returns the deserialized object.

    Declaration
    public TDataContract ReadObject(string value, Encoding encoding = null)
    Parameters
    Type Name Description
    System.String value

    A XMLSystem.String string.

    System.Text.Encoding encoding

    The System.Text.Encoding when reading the value string.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    View Source

    ReadObject(XmlDictionaryReader, Boolean)

    Reads the XML stream with an System.Xml.XmlDictionaryReader and returns the deserialized object, and also specifies whether a check is made to verify the object name before reading its value.

    Declaration
    public TDataContract ReadObject(XmlDictionaryReader reader, bool verifyObjectName)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryReader reader

    The System.Xml.XmlDictionaryReader used to read the XML stream.

    System.Boolean verifyObjectName

    true to check whether the name of the object corresponds to the root name value supplied in the constructor; otherwise, false.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    Exceptions
    Type Condition
    System.Runtime.Serialization.SerializationException

    The verifyObjectName parameter is set to true, and the element name and namespace do not correspond to the values set in the constructor.

    View Source

    ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

    Reads an XML document or document stream and returns the deserialized object. The method includes a parameter to specify whether the object name is verified is validated, and a resolver for mapping langword_csharp_xsi:type declarations at runtime.

    Declaration
    public TDataContract ReadObject(XmlDictionaryReader reader, bool verifyObjectName, DataContractResolver dataContractResolver)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryReader reader

    The XML reader used to read the content.

    System.Boolean verifyObjectName

    true to verify the object name; otherwise, false.

    System.Runtime.Serialization.DataContractResolver dataContractResolver

    An implementation of the System.Runtime.Serialization.DataContractResolver to map langword_csharp_xsi:type declarations to data contract types.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    View Source

    ReadObject(XmlReader)

    Reads the XML stream with an System.Xml.XmlReader and returns the deserialized object.

    Declaration
    public TDataContract ReadObject(XmlReader reader)
    Parameters
    Type Name Description
    System.Xml.XmlReader reader

    The System.Xml.XmlReader used to read the XML stream.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    View Source

    ReadObject(XmlReader, Boolean)

    Reads the XML stream with an System.Xml.XmlReader and returns the deserialized object, and also specifies whether a check is made to verify the object name before reading its value.

    Declaration
    public TDataContract ReadObject(XmlReader reader, bool verifyObjectName)
    Parameters
    Type Name Description
    System.Xml.XmlReader reader

    The System.Xml.XmlReader used to read the XML stream.

    System.Boolean verifyObjectName

    true to check whether the name of the object corresponds to the root name value supplied in the constructor; otherwise, false.

    Returns
    Type Description
    TDataContract

    The deserialized object.

    Exceptions
    Type Condition
    System.Runtime.Serialization.SerializationException

    The verifyObjectName parameter is set to true, and the element name and namespace do not correspond to the values set in the constructor.

    View Source

    WriteEndObject(XmlDictionaryWriter)

    Writes the closing XML element using an System.Xml.XmlDictionaryWriter.

    Declaration
    public void WriteEndObject(XmlDictionaryWriter writer)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryWriter writer

    The System.Xml.XmlDictionaryWriter used to write the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    The type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    There is a problem with the instance being written.

    View Source

    WriteEndObject(XmlWriter)

    Writes the closing XML element using an System.Xml.XmlWriter.

    Declaration
    public void WriteEndObject(XmlWriter writer)
    Parameters
    Type Name Description
    System.Xml.XmlWriter writer

    The System.Xml.XmlWriter used to write the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    The type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    There is a problem with the instance being written.

    View Source

    WriteObject(TDataContract)

    Returns the complete content (start, content, and end) of the object as a XML System.String.

    Declaration
    public string WriteObject(TDataContract graph)
    Parameters
    Type Name Description
    TDataContract graph

    The object that contains the data to return as a string.

    Returns
    Type Description
    System.String

    The XML string representation of the object.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    the type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    there is a problem with the instance being serialized.

    System.ServiceModel.QuotaExceededException

    the maximum number of objects to serialize has been exceeded. Check the System.Runtime.Serialization.DataContractSerializer.MaxItemsInObjectGraph property.

    View Source

    WriteObject(Stream, TDataContract)

    Writes the complete content (start, content, and end) of the object to the XML document or stream with the specified System.IO.Stream.

    Declaration
    public void WriteObject(Stream stream, TDataContract graph)
    Parameters
    Type Name Description
    System.IO.Stream stream

    A System.IO.Stream used to write the XML document or stream.

    TDataContract graph

    The object that contains the data to write to the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    the type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    there is a problem with the instance being serialized.

    System.ServiceModel.QuotaExceededException

    the maximum number of objects to serialize has been exceeded. Check the System.Runtime.Serialization.DataContractSerializer.MaxItemsInObjectGraph property.

    View Source

    WriteObject(XmlDictionaryWriter, TDataContract, DataContractResolver)

    Writes all the object data (starting XML element, content, and enclosing element) to an XML document or stream using the specified XmlDictionaryWriter. The method includes a resolver for mapping langword_csharp_xsi:type declarations at runtime.

    Declaration
    public void WriteObject(XmlDictionaryWriter writer, TDataContract graph, DataContractResolver dataContractResolver)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryWriter writer

    An XmlDictionaryWriter used to write the content to the XML document or stream.

    TDataContract graph

    The object that contains the content to write.

    System.Runtime.Serialization.DataContractResolver dataContractResolver

    An implementation of the System.Runtime.Serialization.DataContractResolver used to map langword_csharp_xsi:type declarations to known data contracts.

    View Source

    WriteObject(XmlWriter, TDataContract)

    Writes all the object data (starting XML element, content, and closing element) to an XML document or stream with an System.Xml.XmlWriter.

    Declaration
    public void WriteObject(XmlWriter writer, TDataContract graph)
    Parameters
    Type Name Description
    System.Xml.XmlWriter writer

    The System.Xml.XmlWriter used to write the XML document or stream.

    TDataContract graph

    The object that contains the data to write to the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    The type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    There is a problem with the instance being written.

    View Source

    WriteObjectContent(XmlDictionaryWriter, TDataContract)

    Writes the XML content using an System.Xml.XmlDictionaryWriter.

    Declaration
    public void WriteObjectContent(XmlDictionaryWriter writer, TDataContract graph)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryWriter writer

    The System.Xml.XmlDictionaryWriter used to write the stream.

    TDataContract graph

    The object to write to the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    The type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    There is a problem with the instance being written.

    View Source

    WriteObjectContent(XmlWriter, TDataContract)

    Writes the XML content using an System.Xml.XmlWriter.

    Declaration
    public void WriteObjectContent(XmlWriter writer, TDataContract graph)
    Parameters
    Type Name Description
    System.Xml.XmlWriter writer

    The System.Xml.XmlWriter used to write the stream.

    TDataContract graph

    The object to write to the stream.

    Exceptions
    Type Condition
    System.Runtime.Serialization.InvalidDataContractException

    The type being serialized does not conform to data contract rules. For example, the System.Runtime.Serialization.DataContractAttribute attribute has not been applied to the type.

    System.Runtime.Serialization.SerializationException

    There is a problem with the instance being written.

    View Source

    WriteStartObject(XmlDictionaryWriter, TDataContract)

    Writes the opening XML element using an System.Xml.XmlDictionaryWriter.

    Declaration
    public void WriteStartObject(XmlDictionaryWriter writer, TDataContract graph)
    Parameters
    Type Name Description
    System.Xml.XmlDictionaryWriter writer

    The System.Xml.XmlDictionaryWriter used to write the XML start element.

    TDataContract graph

    The object to write.

    View Source

    WriteStartObject(XmlWriter, TDataContract)

    Writes the opening XML element using an System.Xml.XmlWriter.

    Declaration
    public void WriteStartObject(XmlWriter writer, TDataContract graph)
    Parameters
    Type Name Description
    System.Xml.XmlWriter writer

    The System.Xml.XmlWriter used to write the XML start element.

    TDataContract graph

    The object to write.

    • View Source
    Back to top Generated by DocFX