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 ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.