4 out of 22 rated this helpful - Rate this topic

System.Runtime.Serialization Namespace

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.

  Class Description
Public class Formatter Provides base functionality for the common language runtime serialization formatters.
Public class FormatterConverter Represents a base implementation of the IFormatterConverter interface that uses the Convert class and the IConvertible interface.
Public class FormatterServices Provides static methods to aid with the implementation of a Formatter for serialization. This class cannot be inherited.
Public class ObjectIDGenerator Generates IDs for objects.
Public class ObjectManager Keeps track of objects as they are deserialized.
Public class OnDeserializedAttribute When applied to a method, specifies that the method is called immediately after deserialization of the object.
Public class OnDeserializingAttribute When applied to a method, specifies that the method is called during deserialization of an object.
Public class OnSerializedAttribute When applied to a method, specifies that the method is called after serialization of an object graph.
Public class OnSerializingAttribute When applied to a method, specifies that the method is called before serialization of an object.
Public class OptionalFieldAttribute Specifies that a field can be missing from a serialization stream so that the BinaryFormatter and the SoapFormatter does not throw an exception.
Public class SerializationBinder Allows users to control class loading and mandate what class to load.
Public class SerializationException The exception thrown when an error occurs during serialization or deserialization.
Public class SerializationInfo Stores all the data needed to serialize or deserialize an object. This class cannot be inherited.
Public class SerializationInfoEnumerator Provides a formatter-friendly mechanism for parsing the data in SerializationInfo. This class cannot be inherited.
Public class SerializationObjectManager Manages serialization processes at run time. This class cannot be inherited.
Public class SurrogateSelector Assists formatters in selection of the serialization surrogate to delegate the serialization or deserialization process to.
  Interface Description
Public interface IDeserializationCallback Indicates that a class is to be notified when deserialization of the entire object graph has been completed.
Public interface IFormatter Provides functionality for formatting serialized objects.
Public interface IFormatterConverter Provides the connection between an instance of SerializationInfo and the formatter-provided class best suited to parse the data inside the SerializationInfo.
Public interface IObjectReference Indicates that the current interface implementer is a reference to another object.
Public interface ISerializable Allows an object to control its own serialization and deserialization.
Public interface ISerializationSurrogate Implements a serialization surrogate selector that allows one object to perform serialization and deserialization of another.
Public interface ISurrogateSelector Indicates a serialization surrogate selector class.
  Structure Description
Public structure SerializationEntry Holds the value, Type, and name of a serialized object.
Public structure StreamingContext Describes the source and destination of a given serialized stream, and provides an additional caller-defined context.
  Enumeration Description
Public enumeration StreamingContextStates Defines a set of flags that specifies the source or destination context for the stream during serialization.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ