Collapse the table of content
Expand the table of content

System.Runtime.Serialization Namespace

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

The System.Runtime.Serialization namespace contains classes that can be used for serializing and deserializing objects. Serialization is the process of converting an object or a graph of objects into a linear sequence of bytes for either storage or transmission to another location. Deserialization is the process of taking in stored information and recreating objects from it.

The ISerializable interface provides a way for classes to control their own serialization behavior. Classes in the System.Runtime.Serialization.Formatters namespace control the actual formatting of various data types encapsulated in the serialized objects.

Formatters that serialize and deserialize objects to and from a particular format can be found in the System.Runtime.Serialization.Formatters namespace.

Public classCollectionDataContractAttributeWhen applied to a collection type, enables custom specification of the collection item elements. This attribute can be applied only to types that are recognized by the DataContractSerializer as valid, serializable collections.
Public classContractNamespaceAttributeSpecifies the CLR namespace and XML namespace of the data contract.
Public classDataContractAttributeSpecifies that the type defines or implements a data contract and can be serialized by a serializer, such as the DataContractSerializer.
Public classDataContractResolverProvides a mechanism for dynamically mapping types to and from xsi:type representations during serialization and deserialization.
Public classDataContractSerializerSerializes and deserializes an instance of a type into an XML stream or document using a supplied data contract. This class cannot be inherited.
Public classDataContractSerializerSettingsSpecifies data contract serializer settings.
Public classDataMemberAttributeWhen applied to the member of a type, specifies that the member is part of a data contract and is serializable by the DataContractSerializer.
Public classDateTimeFormatSpecifies date-time format options.
Public classEnumMemberAttributeSpecifies that the field is an enumeration member and should be serialized.
Public classIgnoreDataMemberAttributeWhen applied to the member of a type, specifies that the member is not part of a data contract and is not serialized.
Public classInvalidDataContractExceptionThe exception that is thrown when the DataContractSerializer encounters an invalid data contract during serialization and deserialization.
Public classKnownTypeAttributeSpecifies types that should be recognized by the DataContractSerializer when serializing or deserializing a given type.
Public classOnDeserializedAttributeWhen applied to a method, specifies that the method is called immediately after deserialization of the object.
Public classOnDeserializingAttributeWhen applied to a method, specifies that the method is called during deserialization of an object.
Public classOnSerializedAttributeWhen applied to a method, specifies that the method is called after serialization of an object graph.
Public classOnSerializingAttributeWhen applied to a method, specifies that the method is called before serialization of an object.
Public classSerializationExceptionThe exception thrown when an error occurs during serialization or deserialization.
Public classXmlObjectSerializerProvides the base class used to serialize objects as XML streams or documents. This class is abstract.

Public structureStreamingContextDescribes the source and destination of a given serialized stream, and provides an additional caller-defined context.

Public enumerationEmitTypeInformationSpecifies how often to emit type information.

© 2017 Microsoft