DekGenius.com
[ Team LiB ] Previous Section Next Section

Formatterserializable

System.Runtime.Serialization (mscorlib.dll)abstract class

This is the abstract base class for all runtime serialization formatters. It implements the IFormatter interface, which provides the properties that select the binder, surrogates, and streaming context of the formatter. This interface also implements the Serialize( ) and Deserialize( ) methods.

Additionally, the Formatter manages the queue of objects to serialize and provides a set of Write* methods for writing types to the stream.

public abstract class Formatter : IFormatter {
// Protected Constructors
   protected Formatter( );
// Protected Instance Fields
   protected ObjectIDGenerator m_idGenerator;
   protected Queue m_objectQueue;
// Public Instance Properties
   public abstract SerializationBinder Binder{set; get; }
//implements IFormatter
   public abstract StreamingContext Context{set; get; }       
// implements IFormatter
   public abstract ISurrogateSelector SurrogateSelector{set; get; }
// implements IFormatter
// Public Instance Methods
   public abstract object Deserialize(System.IO.Stream serializationStream)
// implements IFormatter
   public abstract void Serialize(System.IO.Stream serializationStream, object graph)
// implements IFormatter
// Protected Instance Methods
   protected virtual object GetNext(out long objID);
   protected virtual long Schedule(object obj);
   protected abstract void WriteArray(object obj, string name, Type memberType);
   protected abstract void WriteBoolean(bool val, string name);
   protected abstract void WriteByte(byte val, string name);
   protected abstract void WriteChar(char val, string name);
   protected abstract void WriteDateTime(DateTime val, string name);
   protected abstract void WriteDecimal(decimal val, string name);
   protected abstract void WriteDouble(double val, string name);
   protected abstract void WriteInt16(short val, string name);
   protected abstract void WriteInt32(int val, string name);
   protected abstract void WriteInt64(long val, string name);
   protected virtual void WriteMember(string memberName, object data);
   protected abstract void WriteObjectRef(object obj, string name, Type memberType);
   protected abstract void WriteSByte(sbyte val, string name);
   protected abstract void WriteSingle(float val, string name);
   protected abstract void WriteTimeSpan(TimeSpan val, string name);
   protected abstract void WriteUInt16(ushort val, string name);
   protected abstract void WriteUInt32(uint val, string name);
   protected abstract void WriteUInt64(ulong val, string name);
   protected abstract void WriteValueType(object obj, string name, Type memberType);
}
    [ Team LiB ] Previous Section Next Section