NFX.Serialization.Slim NamespaceNFX Class Library

[This is preliminary documentation and is subject to change.]

Provides Slim serialization functionality
Classes

  ClassDescription
Protected class_ISerializableFixup
Protected class_OnDeserializedCallback
Protected classArrays
Public classPODSlimSerializer
Serializes CLR object graphs using PortableObjectDocument container and Slim binary serialization algorithm. This class is far less performant than SlimSerializer, however it serializes types using document model that allows to transform/change data during serialization/deserialization. This class is needed for upgrades, when object metadata may change but need to be read (maybe partially) back into the new type structure
Protected classRefPool
Public classSlimDeserializationCtorSkipAttribute
When set on a parameterless constructor, instructs the Slim serializer not to invoke the ctor() on deserialization
Public classSlimDeserializationException
Base exception thrown by the Slim when deserializing objects
Public classSlimException
Base exception thrown by the Slim serialization format
Public classSlimInvalidTypeHandleException
Thrown by type registry when supplied type handle is invalid/not found
Public classSlimSerializationException
Base exception thrown by the Slim when serializing objects
Public classSlimSerializationProhibitedAttribute
When set fails an attempt to serialize the decorated type
Public classSlimSerializationProhibitedException
Thrown when a type is decoreted with SlimSerializationProhibitedAttribute
Public classSlimSerializer
Implements Slim serialization algorithm that relies on an injectable SlimFormat-derivative (through .ctor) paremeter. This class was designed for highly-efficient serialization of types without versioning. SlimSerializer supports a concept of "known types" that save space by not emitting their names into stream. Performance note: This serializer yields on average 1/4 serialization and 1/2 deserialization times while compared to BinaryFormatter. Serialization of Record-instances usually takes 1/6 of BinaryFormatter time. Format takes 1/10 space for records and 1/2 for general object graphs. Such performance is achieved because of dynamic compilation of type-specific serialization/deserialization methods. This type is thread-safe for serializations/deserializations when TypeMode is set to "PerCall"
Protected classTypeDescriptor
Type descriptor dynamicaly compiles serialization/deserialization expressions for a particular type
Public classTypeRegistry
Provides a registry of types, types that do not need to be described in a serialization stream
Protected classTypeSchema
Structures

  StructureDescription
Protected structureQuickRefList
Interfaces

  InterfaceDescription
Public interfaceISlimSerializer
Marker interface for formats based on Slim algorithm family
Delegates

  DelegateDescription
Protected delegatedyn_deserialize
Protected delegatedyn_serialize
Enumerations

  EnumerationDescription
Public enumerationTypeRegistryMode
Denotes modes of handling type registry by Slim serializer