O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

Formatter

Synopsis

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 method Formatter();  
// Protected Instance Fields
   protected field ObjectIDGenerator m_idGenerator;  
   protected field Queue m_objectQueue;  
// Public Instance Properties
   public abstract field SerializationBinder Binder{set; get; } // implements IFormatter
   public abstract field StreamingContext Context{set; get; } // implements IFormatter    
   public abstract field ISurrogateSelector SurrogateSelector{set; get; } // implements IFormatter
                  // Public Instance Methods
   public abstract method object Deserialize(System.IO.Stream serializationStream);  
          // implements IFormatter
   public abstract method void Serialize(System.IO.Stream serializationStream, object graph);
          // implements IFormatter
                  // Protected Instance Methods
   protected virtual method object GetNext(out long objID);  
   protected virtual method long Schedule(object obj);  
   protected abstract method void WriteArray(object obj, string name, Type memberType);  
   protected abstract method void WriteBoolean(bool val, string ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required